<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4998631246699292767</id><updated>2026-10-19T04:16:11.930-04:00</updated><category term="Objective C"/><category term="Swift"/><category term="iOS"/><title type='text'>iOS Development</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-275534605626402595</id><published>2017-04-27T22:19:00.004-04:00</published><updated>2017-04-27T22:29:52.745-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Swift"/><title type='text'>Rules of Swift Initializers</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #454545}
&lt;/style&gt;


&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&lt;b&gt;Rule 1: &lt;/b&gt;A designated initializer must call its immediate superclass designated initializer&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&lt;b&gt;Rule 2: &lt;/b&gt;A convenience initializer must calls initializers of the same class&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&lt;b&gt;Rule 3: &lt;/b&gt;A convenience initializers must ultimately call the designated initializer&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;Simple Case:&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJPDwPSpzlmxR-GOQoqWr5TyvbcjEJgXI65HhqAotorXYwU4VZq1b_unmhboWLRu16sn5PglWpLXhG2f-NSyAe8Zfzsd1tCS91HaR44uaSuYvaWd1nTqdiHAVKTqOKRL5dgsl6_xX7-kC8/s1600/Pasted+Graphic.tiff.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;191&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJPDwPSpzlmxR-GOQoqWr5TyvbcjEJgXI65HhqAotorXYwU4VZq1b_unmhboWLRu16sn5PglWpLXhG2f-NSyAe8Zfzsd1tCS91HaR44uaSuYvaWd1nTqdiHAVKTqOKRL5dgsl6_xX7-kC8/s400/Pasted+Graphic.tiff.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Complex Case&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;


&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlR573MI6KNlbWcPwFNDgUHAutjfGjtc6BQdSBmDRMDULhxCxScR2k9Lb-iMfSEOnn93VXjX_1StNs-__yXcNIailzFmuMlVqD0nOmZkzG4AgLS5fCtBaSGwBp2XzsvoRex5hQBToFTLIH/s1600/Pasted+Graphic+1.tiff.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;396&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlR573MI6KNlbWcPwFNDgUHAutjfGjtc6BQdSBmDRMDULhxCxScR2k9Lb-iMfSEOnn93VXjX_1StNs-__yXcNIailzFmuMlVqD0nOmZkzG4AgLS5fCtBaSGwBp2XzsvoRex5hQBToFTLIH/s400/Pasted+Graphic+1.tiff.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b style=&quot;font-family: verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;b style=&quot;font-family: verdana, sans-serif;&quot;&gt;Reference&lt;/b&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;a href=&quot;https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html&quot;&gt;https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/275534605626402595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/rules-of-swift-initializers.html#comment-form' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/275534605626402595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/275534605626402595'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/rules-of-swift-initializers.html' title='Rules of Swift Initializers'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJPDwPSpzlmxR-GOQoqWr5TyvbcjEJgXI65HhqAotorXYwU4VZq1b_unmhboWLRu16sn5PglWpLXhG2f-NSyAe8Zfzsd1tCS91HaR44uaSuYvaWd1nTqdiHAVKTqOKRL5dgsl6_xX7-kC8/s72-c/Pasted+Graphic.tiff.jpg" height="72" width="72"/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-8104007298131499682</id><published>2017-04-23T17:06:00.005-04:00</published><updated>2017-04-27T22:40:43.220-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Objective C"/><category scheme="http://www.blogger.com/atom/ns#" term="Swift"/><title type='text'>Constructs in Objective C and Swift</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;Classes, Structs and Enums are called Constructs and all three of them allow your program to store, organize or manipulate data in different ways with different capabilities.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;Classes&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;General Purpose, flexible construct that becomes the building blocks of your program code.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Have properties and methods that provide data storage and functionality to constructs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Can use inheritance&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Can use initializers and de-initializers when setup or tear down when they are created or destroyed.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul class=&quot;ul1&quot;&gt;
&lt;/ul&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;Structs&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Structs in Swift can have Properties and Methods (Swift Only)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Can use initializers (Swift Only)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;No Inheritance&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Passed by copy ( this can be advantage/disadvantage based on the needs)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul class=&quot;ul1&quot;&gt;
&lt;/ul&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;Enums:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Way to group related elements&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Can include functions (Swift only)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Can use initializers (Swift only)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/8104007298131499682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/constructs-in-objective-c-and-swift.html#comment-form' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/8104007298131499682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/8104007298131499682'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/constructs-in-objective-c-and-swift.html' title='Constructs in Objective C and Swift'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-3056514334805182794</id><published>2017-04-23T16:45:00.002-04:00</published><updated>2017-04-27T22:42:24.127-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Objective C"/><category scheme="http://www.blogger.com/atom/ns#" term="Swift"/><title type='text'>Operators in Objective C and Swift</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Common for Objective C and Swift&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;ul class=&quot;ul1&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Assignment Operator ( = )&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Arithmetic Operator&lt;/span&gt;&lt;/li&gt;
&lt;ul class=&quot;ul1&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;addition +,&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Subtraction -,&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Multiplication *, &amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Division /&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Remainder (Modulo) Operator %&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Unary plus operator (+), Unary minus operator (-), unary operator is prepended directly on the value it operates on.&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt; compound assignment/short hand operators (x+=y, x-=y, x*=y, x/=y, x%=y, x&amp;amp;=y, x|=y, x^=y)&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt; Increment (++) &amp;amp; decrement operator (—) {int x=9, int y: y= ++x , y = - - x } (Removed in Swift 3)&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Relational/Comparison operators&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;ul class=&quot;ul1&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Equal to (a == b)&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Not equal to (a != b)&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Greater than (a &amp;gt; b)&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Less than (a &amp;lt; b)&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Greater than or equal to (a &amp;gt;= b)&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Less than or equal to (a &amp;lt;=&amp;nbsp; b)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Logical Operator&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;ul class=&quot;ul1&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Logical Not (!a)&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Logical AND (a &amp;amp;&amp;amp; b)&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Logical OR (a || b)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Ternary Conditional Operator ( if condition? expression 1 : expression 2 )&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Swift Only&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;ul class=&quot;ul1&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Range Operator&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;ul class=&quot;ul1&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Closed Range Operator &#39;1…10&#39;, includes 1 and 10 in this range.&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Half Open Range Operator &#39;1..~10 , includes 1 but not 10&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Nil-Coalescing Operator (x??y)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;p5&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;The &lt;b&gt;nil-coalescing operator&amp;nbsp;&lt;/b&gt;(&lt;b&gt;x ?? y&lt;/b&gt;) unwraps an optional x if it contains a value, or returns a default value y if x is nil. The expression a is always of an optional type. The expression y must match the type that is stored inside x.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p5&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;The nil Coalescing operator is shorthand for the below code:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p5&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;x != nil ? x! : y&lt;/span&gt;&lt;/div&gt;
&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #000000}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #000000; min-height: 14.0px}
p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #000000; min-height: 15.0px}
p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #454545; min-height: 14.0px}
p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #454545}
li.li1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #000000}
span.s1 {font: 10.0px Menlo; color: #454545}
ul.ul1 {list-style-type: disc}
&lt;/style&gt;



















&lt;br /&gt;
&lt;div class=&quot;p5&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;The code above uses the ternary conditional operator and forced unwrapping (x!) to access the value wrapped inside a when x is not nil, and to return x otherwise. The nil-coalescing operator provides a more elegant way to encapsulate this conditional checking and unwrapping in a concise and readable form.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/3056514334805182794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/operators-in-objective-c-and-swift.html#comment-form' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/3056514334805182794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/3056514334805182794'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/operators-in-objective-c-and-swift.html' title='Operators in Objective C and Swift'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-4295396802233500376</id><published>2017-04-23T15:50:00.000-04:00</published><updated>2017-04-23T15:52:09.357-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Swift"/><title type='text'>Guard in Swift</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;Guard statement is similar to IF statement except the fact that body of code executes when the condition in guard statement is evaluated to false.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;var citizenAge:Int &amp;nbsp;//Declare a variable of type Integer&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;citizenAge = 65&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;guard&amp;nbsp;citizenAge&amp;nbsp;&amp;lt; 60 &amp;nbsp;else {&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;// Here citizen age is 65, the guard condition is evaluated to false and the below statement is executed.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;print(&quot;Senior Citizen&quot;)&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;return&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;print(&quot;Not a Senior Citizen&quot;) // this &lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;is exe&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;cuted when guard &lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;condition is true&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&lt;b&gt;Guard Statement can also be used for optional binding&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;var playerScore:Int? &amp;nbsp; &amp;nbsp;//Declare a variable a of type Optional Integer, which might or might not have value (for e.g if player did not bat, he might not have any score)&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;func updatePlayerScore (playerScore:Int?){&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&amp;nbsp; &amp;nbsp; guard let score =&amp;nbsp;&amp;nbsp;playerScore&amp;nbsp;else {&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(“Player did not bat“)&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&amp;nbsp; &amp;nbsp; print(&quot;Player score is \(score)&quot;)&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;ul class=&quot;ul1&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Unlike if statement values assigned in the Guard statement are still available after the Guard statement through out the remaining scope that encloses the Guard Statement&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Guard Statement are typically written at the top of the enclosing scope&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #454545}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #454545; min-height: 14.0px}
li.li1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #454545}
span.s1 {font: 10.0px Menlo}
ul.ul1 {list-style-type: disc}
&lt;/style&gt;&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/4295396802233500376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/guard-in-swift.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/4295396802233500376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/4295396802233500376'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/guard-in-swift.html' title='Guard in Swift'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-1556952761402569732</id><published>2017-04-23T14:53:00.001-04:00</published><updated>2017-04-23T14:57:09.117-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Swift"/><title type='text'>Swift Data Types</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: verdana, sans-serif;&quot;&gt;There are two fundamental data types in Swift&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;Value Types&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;ul class=&quot;ul1&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;Int, Floating-Points, Booleans, Characters, Strings , Arrays, Dictionaries and Tuples (which are implem&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;ented as &lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Str&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;uct&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;ures&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Optio&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;nals (which are imple&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;ment&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;ed as Enumerations&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;Reference Types&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Classes&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Functions &lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;and &lt;/span&gt;Closures&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/1556952761402569732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/swift-data-types.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/1556952761402569732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/1556952761402569732'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/swift-data-types.html' title='Swift Data Types'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-1268736114381341301</id><published>2017-04-23T14:48:00.002-04:00</published><updated>2017-04-23T14:49:53.538-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Swift"/><title type='text'>Optionals in Swift</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;var a : Int &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// create a swift variable of type int &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;var b = a + 10&amp;nbsp; &amp;nbsp; &amp;nbsp; //compiler will thrown an error because a is not initialized&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;&lt;b&gt;Alternative to above&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;When your using ‘?”/optional , that means your explicitly telling the compiler that a may or may not have the value.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;var a : Int?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;var b = a! + 5 &amp;nbsp; &amp;nbsp; // the compiler suggest to unwrap the optional, this is called force unwrapping and program will crash if in case a does not have value so force unwrapping of optionals is always dangerous and should not do it unless your sure about var holding a value.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;&lt;b&gt;then what is the safe way to deal with optionals? &lt;/b&gt;answer is optional binding&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;if let nonOptionalValue = a {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;var b = nonOptionalValue + 5&amp;nbsp; // if a is nil, this statement is not executed and force unwrapping is not required in this case because we knew that a is not nil and has a value for sure.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #000000}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #000000; min-height: 14.0px}
&lt;/style&gt;





















&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/1268736114381341301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/optionals-in-swift.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/1268736114381341301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/1268736114381341301'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/optionals-in-swift.html' title='Optionals in Swift'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-7880923815076074213</id><published>2017-04-23T14:37:00.001-04:00</published><updated>2017-04-27T22:42:24.270-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Objective C"/><category scheme="http://www.blogger.com/atom/ns#" term="Swift"/><title type='text'>Pointers</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;p1&quot;&gt;
In Objective C all objects are referenced using pointers:&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
A pointer is a variable which stores memory address instead of value itself.&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
how big is int, 4 bytes&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
how big is char, 1 byte&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
how big is String, image or video?&amp;nbsp; we often don’t know and it might even change during our program so we need more flexible way to manage objects and pointers are one way of allowing us to do that.&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
Using pointers allows us to pass around the objects (just by passing around the address of object) without having need to copy them which is time consuming and inefficient &amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
E.g. &amp;nbsp; NSString* welcomeString;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NSDate* todayDate;&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
welcomeString = @“Welcome to Objective C”;&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
Here the string &#39;Welcome to Objective C’ string is not directly stored in ‘welcomeString’ instead the address/memory location of &#39;Welcome to Objective C&#39; is stored in ‘welcomeString which is contrary to &#39;int highScore = 100’ where ‘highScore’ variable directly stores value. ( this is because objects are more complex than primitive types)&lt;/div&gt;
&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #000000}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #000000; min-height: 15.0px}
p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #000000; min-height: 14.0px}
&lt;/style&gt;






















&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
if you want to make and use of simple object, we need pointers to reference them.&lt;br /&gt;
&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
Note: Explicit use of pointers in Swift is not required unlike Objective C. e.g let someInstance = SomeClass ( ) whereas in objective C it is SomeClass *someInstance = [SomeClass alloc] init];&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/7880923815076074213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/pointers.html#comment-form' title='48 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/7880923815076074213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/7880923815076074213'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/pointers.html' title='Pointers'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>48</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-3841961345115258712</id><published>2017-04-23T14:28:00.000-04:00</published><updated>2017-04-27T22:42:24.145-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Objective C"/><category scheme="http://www.blogger.com/atom/ns#" term="Swift"/><title type='text'>Structures in Objective C and Swift</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Structure is a complex data type which contains individual elements which defer in type.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;There are many situations in programming where discrete types have to be identified together as one unit. In this situations we make use of Struct.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Structs are used to represent a record, Suppose you want to keep track of your books in a Library. you might want to track the following attributes about each book.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Struct Book {&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Title&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Author&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Subject&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Book ID&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Struck Person {&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Name&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Age&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Height&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Weight&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Gender&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Color&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Individual elements of Struct are referred to as members&lt;/span&gt;&lt;/div&gt;
&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #000000}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #000000; min-height: 15.0px}
p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #000000; min-height: 14.0px}
&lt;/style&gt;



























&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Unlike Objective C, classes in Swift, structures can have methods, properties, initializers, and conform to protocols. The main difference between classes and structures is that classes are passed by reference, while structs are passed by value.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/3841961345115258712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/structures-in-objective-c-and-swift.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/3841961345115258712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/3841961345115258712'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/structures-in-objective-c-and-swift.html' title='Structures in Objective C and Swift'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-5014706331489027023</id><published>2017-04-23T14:04:00.000-04:00</published><updated>2017-04-27T22:42:24.179-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Objective C"/><category scheme="http://www.blogger.com/atom/ns#" term="Swift"/><title type='text'>Set vs Array</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #454545}
&lt;/style&gt;


&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;The main difference is that NSArray is an ordered collection and NSSet is an unordered list of unique elements.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Set&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;ul class=&quot;ul1&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Primarily access items by comparison&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;E.g&amp;nbsp; &amp;nbsp; let ingredients = [“&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Tea Po&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;wder&lt;/span&gt;&lt;/span&gt;”, “Sugar”, “&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;H&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;ot&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt; Water&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;”, “&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;M&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;ilk&lt;/span&gt;&lt;/span&gt;”, &quot;Cardamom&quot;]&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ingredients.contains(“Cardamom”) {&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;print(“It is Cardamom Tea”)&lt;br /&gt;
}&lt;/span&gt;&lt;/div&gt;
&lt;ul class=&quot;ul1&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;unordered&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;does not allow duplicates&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Array&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #454545}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #454545; min-height: 15.0px}
p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #454545; min-height: 14.0px}
li.li1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #454545}
span.s1 {font: 10.0px Menlo}
ul.ul1 {list-style-type: disc}
&lt;/style&gt;












&lt;br /&gt;
&lt;ul class=&quot;ul1&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Can access items by Index&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Ordered&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;Allow duplicates&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/5014706331489027023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/nsset-vs-nsarray.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/5014706331489027023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/5014706331489027023'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/nsset-vs-nsarray.html' title='Set vs Array'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-7694839811438004061</id><published>2017-04-23T13:52:00.001-04:00</published><updated>2017-04-27T22:42:24.258-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Objective C"/><title type='text'>Dynamic Typing &amp; Dynamic Binding:</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: verdana, sans-serif;&quot;&gt;Dynamic Typing in Objective C means that the class of an object type id is unknown at the compile time and is discovered at the run time based on the message sent to the Object.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;Dynamic typing allows us to declare a variable that is capable of storing any type of object regardless of its class origin, this is achieved using the Objective C id type, the id type is a special, general purpose data type that can be assigned an object of any type.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;Dynamic binding takes this one step further by allowing methods on object type id to be called without prior knowledge of the type of an object currently assigned to the variable.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/7694839811438004061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/dynamic-typing-dynamic-binding.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/7694839811438004061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/7694839811438004061'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/dynamic-typing-dynamic-binding.html' title='Dynamic Typing &amp; Dynamic Binding:'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-1257291770886012333</id><published>2017-04-23T13:40:00.001-04:00</published><updated>2017-04-27T22:43:48.991-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iOS"/><title type='text'>Different states of an iOS app</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b&gt;Different states of an iOS app:&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;/div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Not Running&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Inactive&lt;/li&gt;
&lt;li&gt;active&lt;/li&gt;
&lt;li&gt;Background&lt;/li&gt;
&lt;li&gt;Suspended&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b&gt;1. Not Running&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
App is usually in this state when it is not launched yet or was running but was terminated by the system&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b&gt;2. Inactive&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
App is running in the foreground but is currently not receiving any user events (it may be executing other code though), App usually enter into this state only briefly as it transitions into different state.&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b&gt;3. Active&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
App is in the Foreground and receiving user events. This is normal mode for foreground apps.&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b&gt;4. Background&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
App is in the background and executing code. Most app enters into this state briefly on their way to being suspended. However the app that request the extra execution time may remain in this state for a period of time.&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b&gt;5. Suspended&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
App is in the background but not executing code. The system moves apps to this state automatically and &lt;b&gt;does not notify them&lt;/b&gt; before doing so, while suspended app remains in memory but does not execute any code&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
When a low memory condition occurs, the system may purge suspended apps without notice to make more space for foreground app.&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
Apps must be prepared for termination to happen any time and should not wait to save user data to perform other critical tasks. Suspended apps receives no notification when they are terminated.&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #000000}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #000000; min-height: 14.0px}
p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #000000; min-height: 15.0px}
li.li1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #000000}
span.s1 {font: 10.0px Menlo; color: #454545}
span.s2 {font: 12.0px Courier; text-decoration: underline ; color: #e4af0a}
ul.ul1 {list-style-type: disc}
&lt;/style&gt;







































&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
if the app is currently running in the background and not suspended, the system calls&amp;nbsp; &lt;a href=&quot;https://developer.apple.com/reference/uikit/uiapplicationdelegate/1623111-applicationwillterminate&quot;&gt;&lt;span class=&quot;s2&quot;&gt;applicationWillTerminate:&lt;/span&gt;&lt;/a&gt; of its app delegate prior to termination. The system does not call this method when the device reboots.&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/1257291770886012333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/different-states-of-ios-app.html#comment-form' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/1257291770886012333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/1257291770886012333'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/different-states-of-ios-app.html' title='Different states of an iOS app'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-4676593085170101759</id><published>2017-04-23T13:31:00.000-04:00</published><updated>2017-04-23T14:00:11.887-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Swift"/><title type='text'>Swift Only Features </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;style type=&quot;text/css&quot;&gt;
li.li1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #000000}
span.s1 {font: 10.0px Menlo; color: #454545}
ul.ul1 {list-style-type: disc}
&lt;/style&gt;


&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif; font-size: 12px;&quot;&gt;Below are the features introduced in swift and not present in Objective C&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ul class=&quot;ul1&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&#39;repeat while&#39; which is conceptually equal to &#39;do while&#39; in C/Objective C&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;guard statement&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;&#39;Any&#39; (keyword using which arrays dicts can store objects of discrete type)&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;&#39;fallthrough&#39; (using which we can allow implicit fall-through in switch statement which is not default in Swift unlike Objective C)&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;/span&gt;&#39;AnyObject&#39; conceptually equivalent to id in Objective C&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Optionals&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Tuples&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;li1&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Range Operator&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/4676593085170101759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/swift-only-features.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/4676593085170101759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/4676593085170101759'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/swift-only-features.html' title='Swift Only Features '/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-568928849111540823</id><published>2017-04-23T13:22:00.000-04:00</published><updated>2017-04-23T13:22:50.227-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Swift"/><title type='text'>About Swift</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: small;&quot;&gt;Swift is the safe, interactive and concise language. Following are the notable things in Swift language for objective C developers.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Explicit pointer usage is not required in Swift unlike Objective C&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;No semicolon is needed at the end of the statement&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Conditional expression is not necessarily included in parenthesis for if, while, do while, switch statements&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;print() is used to print messages to the console in swift&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;var and let are two important keywords in swift programming language&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;var is used to create mutable object variables and let is used to create immutable object variables in Swift&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;var should be either initialized or type defined. if you creating variables in the class context, you must initialize variables using default/custom initializers.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Do while not allowed in Swift instead use repeat while which is conceptually equivalent.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Just like Objective C, multiple inheritance is not supported by Swift, however a Swift class can conform to multiple protocols.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&amp;nbsp;String interpolation in Swift is a way to construct a new string value from a mix of constants, variables, literals, and expressions by including their values in a string literal. Each item you include in a string literal is wrapped in a pair of parenthesis prefixed by a backslash.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Swift does not support implicit conversion of values E.g var i = 4 cannot be changed to i = 4.5 during some point in the program.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Swift infers the data type implicitly based on the initialized values&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;functions in swift are conceptually equivalent to methods in objective C&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Arrays are zero based and accessed using sequence of integers.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Arrays are strongly typed/type safe (all the elements in the array should be of same data type unless using “Any&quot; keyword)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Dictionaries are strongly typed in Swift (elements in dictionary is accessed using unique key)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;All the keys in the dictionary should be specific type and all the values in the dictionary should of specific type. All the keys and values of dictionary can be of same type but the number of types dictionary can accommodate is restricted to two unless using “Any” keyword&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&amp;nbsp;Switch statement in swift must be exhaustive, can provide ranges of values ( closed range operator and half open range operator). No automatic implicit fall though unlike Objective C- code , but can be achieved by writing fallthrough control transfer statement.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #000000}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px &#39;Helvetica Neue&#39;; color: #000000; min-height: 14.0px}
&lt;/style&gt;&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/568928849111540823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/about-swift.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/568928849111540823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/568928849111540823'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2017/04/about-swift.html' title='About Swift'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-4298045497805993216</id><published>2013-07-03T14:13:00.000-04:00</published><updated>2017-04-27T22:43:48.999-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iOS"/><title type='text'>How to Localize iOS Apps</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;b&gt;Localization?&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
The&lt;b&gt;&amp;nbsp;&lt;/b&gt;practice of adjusting a product functional properties and characteristics to accommodate the language, cultural , political and legal differences of a foreign market or country.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Localization of iOS Apps?&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
Making&lt;b&gt;&amp;nbsp;&lt;/b&gt;your app available in different languages based on the targeted users.&lt;br /&gt;
Apart from the Apps that are downloaded from App Store, there are decent number of iOS Apps that exists on your device by default.&lt;br /&gt;
&lt;br /&gt;
E.g. Phone, Messages, Maps, Calendar, Music, Camera, Stocks, App Store, Game Center, Contacts, Whether, Photos, Notes etc.&lt;br /&gt;
&lt;br /&gt;
The above default apps which are provided by Apple already support localization.&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;nbsp;&lt;b&gt;Settings &amp;gt; General &amp;gt; International &amp;gt; Language&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
and the select the language you prefer, you can notice all the default apps provided by Apple will reflect the changes according to user preference. This is because all the apps are facilitated with the language and cultural specific content.&lt;br /&gt;
&lt;br /&gt;
These changes might reflect in apps (&amp;nbsp;&lt;b&gt;downloaded from App Store&lt;/b&gt;) also depending on the factor whether they are localized or not.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Approaches&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
In general there are two ways which are predominantly used to localize the iOS Apps.&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Default Approach&lt;/li&gt;
&lt;li&gt;Within the App&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;b&gt;&lt;u&gt;Default Approach&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2mhFBwajv1ylF7FWwY8_I6Pwn4mOeLtkI0ziS57nyqOFOU7MbglTATOlgHnAs5qZ_JGBb56tIQ3FgPL3aIUNnatvyJx_VldcqJ810KU3N67C8Eymqe0zbYIN-UxQQu3AytF3dgyJ0lquq/s804/Create.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;411&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2mhFBwajv1ylF7FWwY8_I6Pwn4mOeLtkI0ziS57nyqOFOU7MbglTATOlgHnAs5qZ_JGBb56tIQ3FgPL3aIUNnatvyJx_VldcqJ810KU3N67C8Eymqe0zbYIN-UxQQu3AytF3dgyJ0lquq/s640/Create.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaQrujoxV8ee8XVvQjSl-Q1wS3CuBAbm7DyFk-oLxjZDiviad7gBRAPmNFGgx-VmYfWlqJalYZBIJQmw1nGBtTPsOF7qk_vCpRI-RH5GQWfl11fPdP-hLLK1dxn7ZtL9hnRWFVyfOIPGuU/s1401/Screen+Shot+2013-07-03+at+2.00.16+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;409&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaQrujoxV8ee8XVvQjSl-Q1wS3CuBAbm7DyFk-oLxjZDiviad7gBRAPmNFGgx-VmYfWlqJalYZBIJQmw1nGBtTPsOF7qk_vCpRI-RH5GQWfl11fPdP-hLLK1dxn7ZtL9hnRWFVyfOIPGuU/s640/Screen+Shot+2013-07-03+at+2.00.16+PM.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7n3lkwwCRWNzGJSCD7C91rb1Iq-8cw74g7QuG5b_9yULr-YN4x4Jbtpy0ubTHEOHOTqcAyK2-JnuvqFbFZ9Eprh_hz-j4Vt7yJMoeSZsNdcu5tjKrVa9_dE6044XqXIIZdniYIPn15mYz/s1401/Screen+Shot+2013-07-03+at+2.02.28+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;409&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7n3lkwwCRWNzGJSCD7C91rb1Iq-8cw74g7QuG5b_9yULr-YN4x4Jbtpy0ubTHEOHOTqcAyK2-JnuvqFbFZ9Eprh_hz-j4Vt7yJMoeSZsNdcu5tjKrVa9_dE6044XqXIIZdniYIPn15mYz/s640/Screen+Shot+2013-07-03+at+2.02.28+PM.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8RWt2EMd_N-s6L4otowVjK7z3h4dfeHLPz0nuLfgRfDFLcUhM-inilSIGCL4aAUWV2zKX3-xRscCGoaIusHgMG7aOXZzwkKUGN008du_z9-od2GVtLT9p9wkjN31xbPZrMYofmWc-R0ye/s1401/Screen+Shot+2013-07-03+at+2.07.28+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;409&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8RWt2EMd_N-s6L4otowVjK7z3h4dfeHLPz0nuLfgRfDFLcUhM-inilSIGCL4aAUWV2zKX3-xRscCGoaIusHgMG7aOXZzwkKUGN008du_z9-od2GVtLT9p9wkjN31xbPZrMYofmWc-R0ye/s640/Screen+Shot+2013-07-03+at+2.07.28+PM.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi25hGO7StBfmnbaq5lcX1p9qU2FpYUDwLR-0hvyrJw3i5W4DgVe-KRNqBeGBDsHY0CuTYF4ynYWap9HW5AWhE44uR4hTjou0HUYN9jVbaTymguOxY-0Wr0ER4IPK5aNBwMIYwYU7z9QE-B/s1401/Screen+Shot+2013-07-03+at+2.15.16+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;409&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi25hGO7StBfmnbaq5lcX1p9qU2FpYUDwLR-0hvyrJw3i5W4DgVe-KRNqBeGBDsHY0CuTYF4ynYWap9HW5AWhE44uR4hTjou0HUYN9jVbaTymguOxY-0Wr0ER4IPK5aNBwMIYwYU7z9QE-B/s640/Screen+Shot+2013-07-03+at+2.15.16+PM.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhb9yix4YmOzdOBL-59xlj5Cm6tcDCWL7tsR60Rf2aqX4iAakdyNx0BJlxTGn9nvbwXynKulm5gtEAMaqXjDI2IToJ-WVEw9DYUpsBF89Z7wEX5PgsOmV9JocyN82C5w2Zc3TO8yTZRZB93/s1399/Screen+Shot+2013-07-03+at+2.17.32+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;409&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhb9yix4YmOzdOBL-59xlj5Cm6tcDCWL7tsR60Rf2aqX4iAakdyNx0BJlxTGn9nvbwXynKulm5gtEAMaqXjDI2IToJ-WVEw9DYUpsBF89Z7wEX5PgsOmV9JocyN82C5w2Zc3TO8yTZRZB93/s640/Screen+Shot+2013-07-03+at+2.17.32+PM.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8uZf4YeYwu1rz7RmGdLX4eP1jG-2KGJjRmrC65Aoo7XDcGdZ1dmRz1sDvqH3ZrDOjGbmSYqpX5fxMrHL8reYiDluw9qo7racJaCwyfCJxlXjYZ0hoWRsW5cUissUR3Ntu1luAh4MMJ5yt/s1401/Screen+Shot+2013-07-03+at+2.22.19+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;409&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8uZf4YeYwu1rz7RmGdLX4eP1jG-2KGJjRmrC65Aoo7XDcGdZ1dmRz1sDvqH3ZrDOjGbmSYqpX5fxMrHL8reYiDluw9qo7racJaCwyfCJxlXjYZ0hoWRsW5cUissUR3Ntu1luAh4MMJ5yt/s640/Screen+Shot+2013-07-03+at+2.22.19+PM.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Naming convention &amp;nbsp;&quot;Localizable.strings&quot; is must and should for default approach. Once that is done, next step is add the supported languages.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz8t4LipM5IU0XNB4ar6Jhhkhbl3JC9OV6lRY9Olab2n3D9nPI0Xknmuky1zp2L3bHA7Ni2vnBdJQWN9SDmjbBCC5iAlFAZrSQvhps6uPErT2OBuBBVmzLqXVqe1kQvnDZJ6S8xCPM6ANW/s1400/Screen+Shot+2013-07-03+at+2.28.12+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;409&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz8t4LipM5IU0XNB4ar6Jhhkhbl3JC9OV6lRY9Olab2n3D9nPI0Xknmuky1zp2L3bHA7Ni2vnBdJQWN9SDmjbBCC5iAlFAZrSQvhps6uPErT2OBuBBVmzLqXVqe1kQvnDZJ6S8xCPM6ANW/s640/Screen+Shot+2013-07-03+at+2.28.12+PM.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiGeeZRgGD2JcjXMuCR_dk33nX_SFONbWEprLIvCInmhMW7VPkR1VCASKCubFmozD0XNCkSUCQgEysBXXBS2OundCHuA-BmJDjS4Eku4iw2B-oNRkWqJwRsYy4HaHe93Wh3GPAFldB2Deg/s1401/Screen+Shot+2013-07-03+at+2.29.02+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;409&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiGeeZRgGD2JcjXMuCR_dk33nX_SFONbWEprLIvCInmhMW7VPkR1VCASKCubFmozD0XNCkSUCQgEysBXXBS2OundCHuA-BmJDjS4Eku4iw2B-oNRkWqJwRsYy4HaHe93Wh3GPAFldB2Deg/s640/Screen+Shot+2013-07-03+at+2.29.02+PM.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
In the above step, check all and click on finish for time being. In the later part of this post, it will be clear why we need to check this files after adding each language.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqNXpBN9GiCtVjA_A577ZdPENNgnMrW7a_t27RYSWcT5p8D5AiPlvurlKJPlSkIYPyA3yIPSRfpx2t6GufJNXxVLkpCR4CuTZx4pO_Ma4wlSIlojSVQLvc_O30h03MwEsXlsN569m5sJi1/s1402/Screen+Shot+2013-07-03+at+2.42.51+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;409&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqNXpBN9GiCtVjA_A577ZdPENNgnMrW7a_t27RYSWcT5p8D5AiPlvurlKJPlSkIYPyA3yIPSRfpx2t6GufJNXxVLkpCR4CuTZx4pO_Ma4wlSIlojSVQLvc_O30h03MwEsXlsN569m5sJi1/s640/Screen+Shot+2013-07-03+at+2.42.51+PM.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQbQChreLbridrrzKkMRBI6CTBLRBC6a3h89oenFojGA5PPypqhcpd_-GDSC27xUZ6LO15YXC1pAtDWJ8LFQ6mJ1kX3zZy1i9olzuqVNYPBl8BOj0X7nX2TY8QLkizAI926pCu0dEHudWE/s1401/Localize.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;409&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQbQChreLbridrrzKkMRBI6CTBLRBC6a3h89oenFojGA5PPypqhcpd_-GDSC27xUZ6LO15YXC1pAtDWJ8LFQ6mJ1kX3zZy1i9olzuqVNYPBl8BOj0X7nX2TY8QLkizAI926pCu0dEHudWE/s640/Localize.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNmyRzHx6_txRZvcsGF-YFRwm13cY3m1OugtC5D6heph7xWFMLlN_NRerDEQwVc6HgDaJgeoIBaEMVd5Ye5Shkwo3erUABQpR6Scd3kVL4GT0Se5bKpoEW1NF87P9fysNI10HkN1cnI6Jq/s1401/Screen+Shot+2013-07-03+at+2.48.32+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;409&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNmyRzHx6_txRZvcsGF-YFRwm13cY3m1OugtC5D6heph7xWFMLlN_NRerDEQwVc6HgDaJgeoIBaEMVd5Ye5Shkwo3erUABQpR6Scd3kVL4GT0Se5bKpoEW1NF87P9fysNI10HkN1cnI6Jq/s640/Screen+Shot+2013-07-03+at+2.48.32+PM.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIAWjGWwES__zUyqSUkCnrsQjuoD48daKY2yR4p0O6MDTULTDR9pmFreHRn7ENR6RSHEDE6NWQ4pnD03E6a-ChLaXDLkoaFDZUeoLsCOrVBZExQ2_LYQb3URbA4TwbzmfKPi2F8KEOA35q/s1401/Screen+Shot+2013-07-03+at+2.50.11+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;409&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIAWjGWwES__zUyqSUkCnrsQjuoD48daKY2yR4p0O6MDTULTDR9pmFreHRn7ENR6RSHEDE6NWQ4pnD03E6a-ChLaXDLkoaFDZUeoLsCOrVBZExQ2_LYQb3URbA4TwbzmfKPi2F8KEOA35q/s640/Screen+Shot+2013-07-03+at+2.50.11+PM.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;Please check mark all the language in the above step, by default only english is checked.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;Now look at the magic Xcode does, for every language you added Xcode automatically creates different version of the same file i,e&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&quot;&lt;/span&gt;&lt;b style=&quot;text-align: left;&quot;&gt;Localizable.strings&lt;/b&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&quot; on the left hand side pane of project window as shown below.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBveLWAkxO_Yojv9lHthuqgLfY5tpk-Y-opwgBf848e3VFX1kUb4I2BcJ1K6OpVI5-CGfdkWFsWASFc5w9ED-RB5GH7MRrd2ijAhBJ9pl2oU29pk_ncpIV54bbHrkPRZr4LQMsU9PPZ_IO/s1402/Magic.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;409&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBveLWAkxO_Yojv9lHthuqgLfY5tpk-Y-opwgBf848e3VFX1kUb4I2BcJ1K6OpVI5-CGfdkWFsWASFc5w9ED-RB5GH7MRrd2ijAhBJ9pl2oU29pk_ncpIV54bbHrkPRZr4LQMsU9PPZ_IO/s640/Magic.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;Now Let us try to understand how iOS manages to display the appropriate content from those language specific string files.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyD3owFgAJ8ngVaIjEJLOomvOYERTxwvq7Kn8OZAnulRQ_6mHGsNaaZDZt13Q9iSlOA68Hrvcnd0utPlRkiEYQdwp4lBOYmuRxrnp08JIQGDQnWd-VlNVjKOEBUS4u0RPxo72voWfZQLy_/s1401/Screen+Shot+2013-07-03+at+3.31.56+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;411&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyD3owFgAJ8ngVaIjEJLOomvOYERTxwvq7Kn8OZAnulRQ_6mHGsNaaZDZt13Q9iSlOA68Hrvcnd0utPlRkiEYQdwp4lBOYmuRxrnp08JIQGDQnWd-VlNVjKOEBUS4u0RPxo72voWfZQLy_/s640/Screen+Shot+2013-07-03+at+3.31.56+PM.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFVIddgnNP7mfSw0D2Ur758pkKZxqAd_pf6GQxXzQ-AkbRfbW2SDKYe-0BBq5epFo_mMsndBRydde76H84ee2Bjh8OJ84vee4QnHd4Ci5BicGSApauuD8RBVzjE4MTIcw8hHWPj9VVNm1R/s772/Screen+Shot+2013-07-03+at+3.36.51+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;361&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFVIddgnNP7mfSw0D2Ur758pkKZxqAd_pf6GQxXzQ-AkbRfbW2SDKYe-0BBq5epFo_mMsndBRydde76H84ee2Bjh8OJ84vee4QnHd4Ci5BicGSApauuD8RBVzjE4MTIcw8hHWPj9VVNm1R/s640/Screen+Shot+2013-07-03+at+3.36.51+PM.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&amp;nbsp;Xcode creates a separate .lproj directories for each new language you add. if you open those directories you will see the .string files related to specific language. Apart from .string files you can manually copy-paste all the other resources like images, audio files, video files etc into the directories.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&lt;b&gt;Note&lt;/b&gt;: You also realize that the files you checked after adding each language are existing in each of this directories....you can check language specific XIB files over there to appear in this directory.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7DD15PZRo50rDCgf8F2Ro7lGFszg4DtZL9PyF5-cnuDGmnCqdm_FNRwZUse7Pscl5GAsBZtEL6rrD1HODwKhWfubh9XW3_l84O6PP1284Xa8OIJMxa0Rx7bQgf7DoAKDx69VMP9PSsj6O/s771/Screen+Shot+2013-07-03+at+3.51.21+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;363&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7DD15PZRo50rDCgf8F2Ro7lGFszg4DtZL9PyF5-cnuDGmnCqdm_FNRwZUse7Pscl5GAsBZtEL6rrD1HODwKhWfubh9XW3_l84O6PP1284Xa8OIJMxa0Rx7bQgf7DoAKDx69VMP9PSsj6O/s640/Screen+Shot+2013-07-03+at+3.51.21+PM.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&amp;nbsp;In the run time iOS loads all the resources from respective directories based on the users language preference. Let us see with some simple example which contains Heading Label and Desc Label and see &amp;nbsp;how it works in real time.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;Create Heading and Desc Label in ViewController.m as shown below.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXnOYkih5GA08rdWc5PoIjs9YhRpDRg32axDBcMfaNBBXElDCHzJh8dHLdJTKOM2liJhFk9BO0upVa7IdQYjGApWZLW0VAU9zPzrsOKUALPC0q7mMoyUpp5ZpdHUssbX3kEXnRKcViC16C/s1207/Screen+Shot+2013-07-03+at+4.38.46+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;435&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXnOYkih5GA08rdWc5PoIjs9YhRpDRg32axDBcMfaNBBXElDCHzJh8dHLdJTKOM2liJhFk9BO0upVa7IdQYjGApWZLW0VAU9zPzrsOKUALPC0q7mMoyUpp5ZpdHUssbX3kEXnRKcViC16C/s640/Screen+Shot+2013-07-03+at+4.38.46+PM.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;b&gt;Code Snippet for the above Screenshot:&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #703daa;&quot;&gt;UILabel&lt;/span&gt; *headingLabel = [[&lt;span style=&quot;color: #703daa;&quot;&gt;UILabel&lt;/span&gt; &lt;span style=&quot;color: #3d1d81;&quot;&gt;alloc&lt;/span&gt;] &lt;span style=&quot;color: #3d1d81;&quot;&gt;initWithFrame&lt;/span&gt;:&lt;span style=&quot;color: #3d1d81;&quot;&gt;CGRectMake&lt;/span&gt;(&lt;span style=&quot;color: #272ad8;&quot;&gt;10&lt;/span&gt;, &lt;span style=&quot;color: #272ad8;&quot;&gt;70&lt;/span&gt;, &lt;span style=&quot;color: #272ad8;&quot;&gt;300&lt;/span&gt;, &lt;span style=&quot;color: #272ad8;&quot;&gt;30&lt;/span&gt;)];&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px; min-height: 13px;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px; min-height: 13px;&quot;&gt;
&lt;/div&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #008400;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;//The below line of code is responsible for retrieving the content from appropriate language specific .string file using&amp;nbsp;&lt;span style=&quot;color: #78492a;&quot;&gt;NSLocalizedString.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;

&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; headingLabel.&lt;span style=&quot;color: #703daa;&quot;&gt;text&lt;/span&gt; =[&lt;span style=&quot;color: #703daa;&quot;&gt;NSString&lt;/span&gt; &lt;span style=&quot;color: #3d1d81;&quot;&gt;stringWithFormat&lt;/span&gt;:&lt;span style=&quot;color: #78492a;&quot;&gt;NSLocalizedString&lt;/span&gt;(&lt;span style=&quot;color: #d12f1b;&quot;&gt;@&quot;HeadingLabel&quot;&lt;/span&gt;, &lt;span style=&quot;color: #bb2ca2;&quot;&gt;nil&lt;/span&gt;)];&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px; min-height: 13px;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&amp;nbsp; &amp;nbsp; headingLabel.&lt;span style=&quot;color: #703daa;&quot;&gt;textColor&lt;/span&gt; = [&lt;span style=&quot;color: #703daa;&quot;&gt;UIColor&lt;/span&gt; &lt;span style=&quot;color: #3d1d81;&quot;&gt;blackColor&lt;/span&gt;];&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&amp;nbsp; &amp;nbsp; headingLabel.&lt;span style=&quot;color: #703daa;&quot;&gt;textAlignment&lt;/span&gt; = &lt;span style=&quot;color: #3d1d81;&quot;&gt;NSTextAlignmentCenter&lt;/span&gt;;&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&amp;nbsp; &amp;nbsp; headingLabel.&lt;span style=&quot;color: #703daa;&quot;&gt;backgroundColor&lt;/span&gt; = [&lt;span style=&quot;color: #703daa;&quot;&gt;UIColor&lt;/span&gt; &lt;span style=&quot;color: #3d1d81;&quot;&gt;clearColor&lt;/span&gt;];&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&amp;nbsp; &amp;nbsp; headingLabel.&lt;span style=&quot;color: #703daa;&quot;&gt;font&lt;/span&gt; = [&lt;span style=&quot;color: #703daa;&quot;&gt;UIFont&lt;/span&gt; &lt;span style=&quot;color: #3d1d81;&quot;&gt;fontWithName&lt;/span&gt;:&lt;span style=&quot;color: #d12f1b;&quot;&gt;@&quot;Arial-BoldMT&quot;&lt;/span&gt; &lt;span style=&quot;color: #3d1d81;&quot;&gt;size&lt;/span&gt;:&lt;span style=&quot;color: #272ad8;&quot;&gt;16.0&lt;/span&gt;];&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&amp;nbsp; &amp;nbsp; headingLabel.&lt;span style=&quot;color: #703daa;&quot;&gt;hidden&lt;/span&gt; = &lt;span style=&quot;color: #bb2ca2;&quot;&gt;NO&lt;/span&gt;;&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&amp;nbsp; &amp;nbsp; headingLabel.&lt;span style=&quot;color: #703daa;&quot;&gt;highlighted&lt;/span&gt; = &lt;span style=&quot;color: #bb2ca2;&quot;&gt;YES&lt;/span&gt;;&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&amp;nbsp; &amp;nbsp; headingLabel.&lt;span style=&quot;color: #703daa;&quot;&gt;lineBreakMode&lt;/span&gt; = &lt;span style=&quot;color: #bb2ca2;&quot;&gt;YES&lt;/span&gt;;&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&amp;nbsp; &amp;nbsp; headingLabel.&lt;span style=&quot;color: #703daa;&quot;&gt;numberOfLines&lt;/span&gt; = &lt;span style=&quot;color: #272ad8;&quot;&gt;0&lt;/span&gt;;&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&amp;nbsp; &amp;nbsp; [&lt;span style=&quot;color: #bb2ca2;&quot;&gt;self&lt;/span&gt;.&lt;span style=&quot;color: #703daa;&quot;&gt;view&lt;/span&gt; &lt;span style=&quot;color: #3d1d81;&quot;&gt;addSubview&lt;/span&gt;:headingLabel];&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px; min-height: 13px;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #703daa;&quot;&gt;UILabel&lt;/span&gt; *descLabel = [[&lt;span style=&quot;color: #703daa;&quot;&gt;UILabel&lt;/span&gt; &lt;span style=&quot;color: #3d1d81;&quot;&gt;alloc&lt;/span&gt;] &lt;span style=&quot;color: #3d1d81;&quot;&gt;initWithFrame&lt;/span&gt;:&lt;span style=&quot;color: #3d1d81;&quot;&gt;CGRectMake&lt;/span&gt;(&lt;span style=&quot;color: #272ad8;&quot;&gt;10&lt;/span&gt;, &lt;span style=&quot;color: #272ad8;&quot;&gt;80&lt;/span&gt;, &lt;span style=&quot;color: #272ad8;&quot;&gt;300&lt;/span&gt;, &lt;span style=&quot;color: #272ad8;&quot;&gt;200&lt;/span&gt;)];&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #008400;&quot;&gt;
//The below line of code is responsible for retrieving the content from appropriate language specific .string file using&amp;nbsp;&lt;span style=&quot;color: #78492a;&quot;&gt;NSLocalizedString.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;

&lt;div style=&quot;font-family: Menlo; font-size: 11px; min-height: 13px;&quot;&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;descLabel.&lt;span style=&quot;color: #703daa;&quot;&gt;text&lt;/span&gt; =[&lt;span style=&quot;color: #703daa;&quot;&gt;NSString&lt;/span&gt; &lt;span style=&quot;color: #3d1d81;&quot;&gt;stringWithFormat&lt;/span&gt;:&lt;span style=&quot;color: #78492a;&quot;&gt;NSLocalizedString&lt;/span&gt;(&lt;span style=&quot;color: #d12f1b;&quot;&gt;@&quot;DescLabel&quot;&lt;/span&gt;, &lt;span style=&quot;color: #bb2ca2;&quot;&gt;nil&lt;/span&gt;)];&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px; min-height: 13px;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;descLabel.&lt;span style=&quot;color: #703daa;&quot;&gt;textColor&lt;/span&gt; = [&lt;span style=&quot;color: #703daa;&quot;&gt;UIColor&lt;/span&gt; &lt;span style=&quot;color: #3d1d81;&quot;&gt;blackColor&lt;/span&gt;];&lt;/div&gt;
&lt;div style=&quot;color: #3d1d81; font-family: Menlo; font-size: 11px;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp; &amp;nbsp; descLabel.&lt;/span&gt;&lt;span style=&quot;color: #703daa;&quot;&gt;textAlignment&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt; = &lt;/span&gt;NSTextAlignmentLeft&lt;span style=&quot;color: black;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #703daa; font-family: Menlo; font-size: 11px;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp; &amp;nbsp; descLabel.&lt;/span&gt;backgroundColor&lt;span style=&quot;color: black;&quot;&gt; = [&lt;/span&gt;UIColor&lt;span style=&quot;color: black;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #3d1d81;&quot;&gt;clearColor&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;];&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&amp;nbsp; &amp;nbsp; descLabel.&lt;span style=&quot;color: #703daa;&quot;&gt;font&lt;/span&gt; = [&lt;span style=&quot;color: #703daa;&quot;&gt;UIFont&lt;/span&gt; &lt;span style=&quot;color: #3d1d81;&quot;&gt;fontWithName&lt;/span&gt;:&lt;span style=&quot;color: #d12f1b;&quot;&gt;@&quot;&quot;&lt;/span&gt; &lt;span style=&quot;color: #3d1d81;&quot;&gt;size&lt;/span&gt;:&lt;span style=&quot;color: #272ad8;&quot;&gt;18.0&lt;/span&gt;];&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&amp;nbsp; &amp;nbsp; descLabel.&lt;span style=&quot;color: #703daa;&quot;&gt;hidden&lt;/span&gt; = &lt;span style=&quot;color: #bb2ca2;&quot;&gt;NO&lt;/span&gt;;&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&amp;nbsp; &amp;nbsp; descLabel.&lt;span style=&quot;color: #703daa;&quot;&gt;highlighted&lt;/span&gt; = &lt;span style=&quot;color: #bb2ca2;&quot;&gt;YES&lt;/span&gt;;&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&amp;nbsp; &amp;nbsp; descLabel.&lt;span style=&quot;color: #703daa;&quot;&gt;lineBreakMode&lt;/span&gt; = &lt;span style=&quot;color: #bb2ca2;&quot;&gt;YES&lt;/span&gt;;&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&amp;nbsp; &amp;nbsp; descLabel.&lt;span style=&quot;color: #703daa;&quot;&gt;numberOfLines&lt;/span&gt; = &lt;span style=&quot;color: #272ad8;&quot;&gt;0&lt;/span&gt;;&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&amp;nbsp; &amp;nbsp; [&lt;span style=&quot;color: #bb2ca2;&quot;&gt;self&lt;/span&gt;.&lt;span style=&quot;color: #703daa;&quot;&gt;view&lt;/span&gt; &lt;span style=&quot;color: #3d1d81;&quot;&gt;addSubview&lt;/span&gt;:descLabel];&lt;/div&gt;
&lt;div style=&quot;font-family: Menlo; font-size: 11px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Now go to Localizable.strings(English) file and paste the key value pairs for the above UI Elements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #d12f1b; font-family: Menlo; font-size: 11px;&quot;&gt;
&quot;HeadingLabel&quot;&lt;span style=&quot;color: black;&quot;&gt; = &lt;/span&gt;&quot;LOCALIZATION(ENGLISH)&quot;&lt;span style=&quot;color: black;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #d12f1b; font-family: Menlo; font-size: 11px;&quot;&gt;
&quot;DescLabel&quot;&lt;span style=&quot;color: black;&quot;&gt;= &lt;/span&gt;&quot;Localization is the process of adapting a product to meet the language, cultural and other requirements of a specific target environment or market so that users can use their own languages and conventions when using the app.&quot;&lt;span style=&quot;color: black;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: black;&quot;&gt;Repeat same thing for&amp;nbsp;&lt;/span&gt;Localizable.strings(Spanish).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;color: #d12f1b; font-family: Menlo; font-size: 11px;&quot;&gt;
&quot;HeadingLabel&quot;&lt;span style=&quot;color: black;&quot;&gt;= &lt;/span&gt;&quot;LOCALIZACIÓN (SPANISH)&quot;&lt;span style=&quot;color: black;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #d12f1b; font-family: Menlo; font-size: 11px;&quot;&gt;
&quot;DescLabel&quot;&lt;span style=&quot;color: black;&quot;&gt;= &lt;/span&gt;&quot;La localización es del proceso de adaptar un producto para cumplir los requisitos del lenguaje, culturales y otro de un ambiente o de un mercado específico de la blanco de modo que los utilizadores puedan utilizar sus propios lenguajes y&quot;&lt;span style=&quot;color: black;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
Repeat same thing for&amp;nbsp;Localizable.strings(Greek).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;color: #d12f1b; font-family: Menlo; font-size: 11px;&quot;&gt;
&quot;HeadingLabel&quot;&lt;span style=&quot;color: black;&quot;&gt;= &lt;/span&gt;&quot;ΕΝΤΟΠΙΣΜΟΣ(GREEK)&quot;&lt;span style=&quot;color: black;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #d12f1b; font-family: Menlo; font-size: 11px;&quot;&gt;
&quot;DescLabel&quot;&lt;span style=&quot;color: black;&quot;&gt;= &lt;/span&gt;&quot;Ο εντοπισμός είναι πολιτιστικές και άλλες απαιτήσεις της διαδικασίας ένα προϊόν για να συναντήσει τη γλώσσα, ενός συγκεκριμένης περιβάλλοντος ή μιας αγοράς στόχων έτσι ώστε τον οι χρήστες μπορούν να χρησιμοποιήσουν.&quot;&lt;span style=&quot;color: black;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Checkout the below screenshot for reference.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF4yer8fIudTJfsKZq_JY7809g7pJ311qxzpxxL5CHrj4fz7dxzhhc5y0By7Bw2WjDaBvO2f9p2vnSq5jo7z7qdNI1KCHUAkz0R7QJHVZziOQydkGnOXn8FWyfyUSepVXpa0w9o3p1SmF5/s1345/Screen+Shot+2013-07-03+at+4.24.20+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;412&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF4yer8fIudTJfsKZq_JY7809g7pJ311qxzpxxL5CHrj4fz7dxzhhc5y0By7Bw2WjDaBvO2f9p2vnSq5jo7z7qdNI1KCHUAkz0R7QJHVZziOQydkGnOXn8FWyfyUSepVXpa0w9o3p1SmF5/s640/Screen+Shot+2013-07-03+at+4.24.20+PM.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
Go ahead and run your project using iPhone (or) iPad Simulator.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkiNtQTqe_f5am4xEFSQW7CVHAVWKtv1nzOnNo45HUoyi-_vD_bvkfSQQCIpUJ_Q7RlvReHHM3oYKpapUgsCmCdI7fJvblfpqAocx4Ky3Nr-To09fD0udlQOP6igEJrSY-wGcRLmbeUTAg/s960/iOS+Simulator+Screen+shot+Jul+3,+2013+4.55.24+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkiNtQTqe_f5am4xEFSQW7CVHAVWKtv1nzOnNo45HUoyi-_vD_bvkfSQQCIpUJ_Q7RlvReHHM3oYKpapUgsCmCdI7fJvblfpqAocx4Ky3Nr-To09fD0udlQOP6igEJrSY-wGcRLmbeUTAg/s640/iOS+Simulator+Screen+shot+Jul+3,+2013+4.55.24+PM.png&quot; width=&quot;426&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;b&gt;How do i switch to Spanish or Greek?&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;Settings &amp;gt; General &amp;gt; International &amp;gt; Language&amp;gt; Spanish or Greek, &amp;nbsp;then press Done&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
iOS Simulator will reboot the app with new user settings and we need to relaunch the app again to view the reflected changes.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Note: Do not select the language other than what u included, it shows English by default even if you does so.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2e0_uQPyNBepjAh2_5Zn-OBrj2wsqzHhCyjNSYcFo5mRu0GLOEiJ023jnW9xyWH3yScHKczOAP7OX7xvhiEOnQfdlFphaX5whtQ3byVNuA70njLiLhQXPtknECuFKe3BJ7cEnCHla0HRh/s960/iOS+Simulator+Screen+shot+Jul+3,+2013+5.12.03+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2e0_uQPyNBepjAh2_5Zn-OBrj2wsqzHhCyjNSYcFo5mRu0GLOEiJ023jnW9xyWH3yScHKczOAP7OX7xvhiEOnQfdlFphaX5whtQ3byVNuA70njLiLhQXPtknECuFKe3BJ7cEnCHla0HRh/s640/iOS+Simulator+Screen+shot+Jul+3,+2013+5.12.03+PM.png&quot; width=&quot;425&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Navigate to Screen where your app is and relaunch to view the content in Spanish.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpisK5qw4Jbnux7YV1dBpoGiakuZPuJ8g4tICJrpT1NFljUVQYZxgW_b37Ap3J023-KKCFd-P1Fn4rukpyuaL_rItNIMTYYRa2WvW_VfavE_ffYovf_hWw0SwGyp0dNkuxtLMVmbNZ1Fki/s960/iOS+Simulator+Screen+shot+Jul+3,+2013+5.14.15+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpisK5qw4Jbnux7YV1dBpoGiakuZPuJ8g4tICJrpT1NFljUVQYZxgW_b37Ap3J023-KKCFd-P1Fn4rukpyuaL_rItNIMTYYRa2WvW_VfavE_ffYovf_hWw0SwGyp0dNkuxtLMVmbNZ1Fki/s640/iOS+Simulator+Screen+shot+Jul+3,+2013+5.14.15+PM.png&quot; width=&quot;426&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;b&gt;Cons of this Approach&lt;/b&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Users need to leave the app to change the preferences and relaunch it again.&lt;/li&gt;
&lt;li&gt;Language change will be reflected on all other apps that supports Localization.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;b&gt;Pros of this Approach&amp;nbsp;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Easy to Implement because of Xcode built-in Intelligence&lt;/li&gt;
&lt;li&gt;Not much of Coding is required.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;Within the App&amp;nbsp;Approach&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Coming..soon!&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/4298045497805993216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2013/07/localization-of-ios-apps.html#comment-form' title='28 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/4298045497805993216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/4298045497805993216'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2013/07/localization-of-ios-apps.html' title='How to Localize iOS Apps'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2mhFBwajv1ylF7FWwY8_I6Pwn4mOeLtkI0ziS57nyqOFOU7MbglTATOlgHnAs5qZ_JGBb56tIQ3FgPL3aIUNnatvyJx_VldcqJ810KU3N67C8Eymqe0zbYIN-UxQQu3AytF3dgyJ0lquq/s72-c/Create.png" height="72" width="72"/><thr:total>28</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-5555886214900097559</id><published>2013-03-01T17:46:00.002-05:00</published><updated>2017-04-27T22:43:49.016-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iOS"/><title type='text'>Valid architectures of iOS devices?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
iOS Devices are powered by the processors based on ARM architecture, comes in different in versions developed overtime, each one added with some improvements.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrnrr5QTCwWQh6uSOVwipJy-Kx5lXY2NHNWu3SgVyBQNZ5kMeAgCfOiqikwq9bvZQcN43pPFKB1GD29VRkdRkt203M_tLcor_sDx1QPZwDmtARaIm3ReGxDhWhXOLR0eNBO8KxhwAN7wFH/s1600/arm.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;195&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrnrr5QTCwWQh6uSOVwipJy-Kx5lXY2NHNWu3SgVyBQNZ5kMeAgCfOiqikwq9bvZQcN43pPFKB1GD29VRkdRkt203M_tLcor_sDx1QPZwDmtARaIm3ReGxDhWhXOLR0eNBO8KxhwAN7wFH/s400/arm.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCyYtzO4TzReS4_FLIQvyxlJhHIHtPgtOaGFuHaO8wxlFZeeSdwdFvyB2sEj8WEkzHvvnwEKA-fxTMHMdR1CudxwEPB9kt-Aghj_uhPrDgLlulzAakLypHkNMeZZtt5PojeL5f2MnWNlqc/s1600/arm_ipad.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;166&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCyYtzO4TzReS4_FLIQvyxlJhHIHtPgtOaGFuHaO8wxlFZeeSdwdFvyB2sEj8WEkzHvvnwEKA-fxTMHMdR1CudxwEPB9kt-Aghj_uhPrDgLlulzAakLypHkNMeZZtt5PojeL5f2MnWNlqc/s400/arm_ipad.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iOS developers should ensure to include the valid architectures in project build settings before building the application just to make sure that application runs on all targeted devices.&lt;br /&gt;
&lt;br /&gt;
Apple dropping support for old architectures over the time, the Xcode versions which supports armv7 and armv7s no longer supports armv6. There are some others ways to support all architectures though.&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/5555886214900097559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2013/03/what-is-armv6-armv7-and-armv7s.html#comment-form' title='42 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/5555886214900097559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/5555886214900097559'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2013/03/what-is-armv6-armv7-and-armv7s.html' title='Valid architectures of iOS devices?'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrnrr5QTCwWQh6uSOVwipJy-Kx5lXY2NHNWu3SgVyBQNZ5kMeAgCfOiqikwq9bvZQcN43pPFKB1GD29VRkdRkt203M_tLcor_sDx1QPZwDmtARaIm3ReGxDhWhXOLR0eNBO8KxhwAN7wFH/s72-c/arm.jpg" height="72" width="72"/><thr:total>42</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-1821828389980823397</id><published>2012-07-25T18:13:00.000-04:00</published><updated>2017-04-27T22:42:24.121-04:00</updated><title type='text'>Can I force an iPhone user to upgrade an application?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-left: 0in; margin-top: 2.88pt; text-align: left; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;&quot;&gt;
&lt;span style=&quot;color: black; font-family: Calibri; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;In general forcing the user to update our application
mandatorily might not go well from user stand point.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-left: 0in; margin-top: 2.88pt; text-align: left; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;In-spite of the above fact,&amp;nbsp; Sometime you do have to force an Upgrade for security or
other valid reasons.&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri; font-size: 16px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Lot of gaming applications in the market does this sought of updates.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-left: 0in; margin-top: 3.84pt; text-align: left; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;some of the Financial Enterprise apps which are
right there in the App-Store were able to force app users to mandatorily update
it to latest version.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-left: 0in; margin-top: 3.84pt; text-align: left; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrydjCehXRadRvA17bqs2nb8SUVmxBSog7iTRdBgCiRKxeVvr7XYyiV-U1Te_vtYhU68itCD5GP78fvareZXdDCLdijeWP6QHVQhBu7duzy5NcrEaydYOjcjA5BGljcRgAIXKIR4GeJCpq/s1600/photo.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrydjCehXRadRvA17bqs2nb8SUVmxBSog7iTRdBgCiRKxeVvr7XYyiV-U1Te_vtYhU68itCD5GP78fvareZXdDCLdijeWP6QHVQhBu7duzy5NcrEaydYOjcjA5BGljcRgAIXKIR4GeJCpq/s1600/photo.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;

&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;How do i do this?&lt;/span&gt;&lt;/h3&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxJZqxQMmOUtf5ovnGfIcEjV1b81WqmMEEMH6Vl9wUE09N9gUoz5Ddf1nVQ_5QaTymhXLIyVFK5rB3Tvq9aMuOLydFLU3krkmeb2gk2jUR1ztqa_Ujpk6Z-ABOjCi5jNxn_yCfb5SAUaW2/s1600/versionUpdate.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;216&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxJZqxQMmOUtf5ovnGfIcEjV1b81WqmMEEMH6Vl9wUE09N9gUoz5Ddf1nVQ_5QaTymhXLIyVFK5rB3Tvq9aMuOLydFLU3krkmeb2gk2jUR1ztqa_Ujpk6Z-ABOjCi5jNxn_yCfb5SAUaW2/s400/versionUpdate.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-left: 0.38in; margin-top: 4.8pt; text-align: left; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;&quot;&gt;
&lt;span style=&quot;color: black; font-family: Calibri; font-weight: bold;&quot;&gt;Get Version info Using Itunes web
service&lt;/span&gt;&lt;span style=&quot;color: black; font-family: Calibri; font-size: 20pt; font-weight: bold;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-left: 0.38in; margin-top: 4.8pt; text-align: left; text-indent: -0.38in; unicode-bidi: embed; word-break: normal;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 27px;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;b&gt;&lt;div style=&quot;color: #d32d26; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: #4d8186;&quot;&gt;NSURL&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt; *url = [&lt;/span&gt;&lt;span style=&quot;color: #4d8186;&quot;&gt;NSURL&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #30595d;&quot;&gt;URLWithString&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;:&lt;/span&gt;@&quot;http://itunes.apple.com/lookup?id=&amp;lt;Your app ID&amp;gt;&quot;&lt;span style=&quot;color: black;&quot;&gt;];&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
versionRequest = [ASIFormDataRequest requestWithURL:url];&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
versionRequest setRequestMethod:&lt;span style=&quot;color: #d32d26;&quot;&gt;@&quot;GET&quot;&lt;/span&gt;];&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
versionRequest setDelegate:&lt;span style=&quot;color: #bc319c;&quot;&gt;self&lt;/span&gt;];&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
versionRequest setTimeOutSeconds:&lt;span style=&quot;color: #2834cf;&quot;&gt;100&lt;/span&gt;];&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
[versionRequest addRequestHeader:&lt;span style=&quot;color: #d32d26;&quot;&gt;@&quot;Content-Type&quot;&lt;/span&gt; value:&lt;span style=&quot;color: #d32d26;&quot;&gt;@&quot;application/json&quot;&lt;/span&gt;];&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
[versionRequest startSynchronous];&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri; font-size: -webkit-xxx-large;&quot;&gt;&lt;b&gt;&lt;b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;b&gt;&lt;b&gt;&lt;h3 style=&quot;display: inline !important;&quot;&gt;

&lt;b&gt;&lt;b&gt;&lt;h3 style=&quot;display: inline !important;&quot;&gt;

&lt;b&gt;&lt;div style=&quot;display: inline !important; font: normal normal normal 11px/normal Menlo; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;&quot;&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;Response string of our REST call&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 56px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/b&gt;&lt;/h3&gt;
&lt;/b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;/b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri; font-size: -webkit-xxx-large;&quot;&gt;&lt;b&gt;&lt;b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;b&gt;&lt;b&gt;&lt;h3 style=&quot;display: inline !important;&quot;&gt;

&lt;b&gt;&lt;b&gt;&lt;h3 style=&quot;display: inline !important;&quot;&gt;

&lt;b&gt;&lt;div style=&quot;display: inline !important; font: normal normal normal 11px/normal Menlo; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;&quot;&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 56px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: #4d8186;&quot;&gt;NSString&lt;/span&gt;* jsonResponseString = [versionRequest responseString];&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: #4d8186;&quot;&gt;NSDictionary&lt;/span&gt; *loginAuthenticationResponse = [&lt;span style=&quot;color: #4d8186;&quot;&gt;jsonResponseString&lt;/span&gt; &lt;span style=&quot;color: #3e227c;&quot;&gt;objectFromJSONString&lt;/span&gt;];&lt;/div&gt;
&lt;div style=&quot;color: #4d8186; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
NSArray&lt;span style=&quot;color: black;&quot;&gt; *configData = [&lt;/span&gt;loginAuthenticationResponse&lt;span style=&quot;color: black;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #30595d;&quot;&gt;valueForKey&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d32d26;&quot;&gt;@&quot;results&quot;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;];&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: #bc319c;&quot;&gt;for&lt;/span&gt; (&lt;span style=&quot;color: #bc319c;&quot;&gt;id&lt;/span&gt; config &lt;span style=&quot;color: #bc319c;&quot;&gt;in&lt;/span&gt; configData)&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
{&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&amp;nbsp; &amp;nbsp; version = [config valueForKey:&lt;span style=&quot;color: #d32d26;&quot;&gt;@&quot;version&quot;&lt;/span&gt;];&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 13.0px;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
}&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri; font-size: -webkit-xxx-large;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;b&gt;&lt;div style=&quot;display: inline !important; font: normal normal normal 11px/normal Menlo; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri; font-size: -webkit-xxx-large;&quot;&gt;&lt;b&gt;&lt;b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;b&gt;&lt;b&gt;&lt;h3 style=&quot;display: inline !important;&quot;&gt;

&lt;b&gt;&lt;b&gt;&lt;h3 style=&quot;display: inline !important;&quot;&gt;

&lt;b&gt;&lt;div style=&quot;display: inline !important; font: normal normal normal 11px/normal Menlo; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;&quot;&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 56px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;h3 style=&quot;display: inline !important;&quot;&gt;

&lt;b&gt;&lt;b&gt;&lt;b&gt;&lt;h3 style=&quot;display: inline !important;&quot;&gt;

&lt;b&gt;&lt;b&gt;&lt;h3 style=&quot;display: inline !important;&quot;&gt;

&lt;b&gt;&lt;b&gt;&lt;div style=&quot;display: inline !important; font: normal normal normal 11px/normal Menlo; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 66px;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;Compare Both Versions&lt;/span&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;/b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;/b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri; font-size: -webkit-xxx-large;&quot;&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;b&gt;&lt;b&gt;&lt;b&gt;&lt;h3 style=&quot;display: inline !important;&quot;&gt;

&lt;b&gt;&lt;b&gt;&lt;h3 style=&quot;display: inline !important;&quot;&gt;

&lt;b&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;h3 style=&quot;display: inline !important;&quot;&gt;

&lt;b&gt;&lt;b&gt;&lt;b&gt;&lt;h3 style=&quot;display: inline !important;&quot;&gt;

&lt;b&gt;&lt;b&gt;&lt;h3 style=&quot;display: inline !important;&quot;&gt;

&lt;b&gt;&lt;b&gt;&lt;div style=&quot;display: inline !important; font: normal normal normal 11px/normal Menlo; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 66px;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;b&gt;&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: #4d8186;&quot;&gt;NSString&lt;/span&gt; *version = &lt;span style=&quot;color: #d32d26;&quot;&gt;@&quot;1.0&quot;&lt;/span&gt;;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: #bc319c;&quot;&gt;if&lt;/span&gt; (![version isEqualToString:[itsUserDefaults objectForKey:&lt;span style=&quot;color: #d32d26;&quot;&gt;@&quot;version&quot;&lt;/span&gt;]])&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
{&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&amp;nbsp; &amp;nbsp; UIAlertView *createUserResponseAlert = [[UIAlertView alloc] initWithTitle:&lt;span style=&quot;color: #d32d26;&quot;&gt;@&quot;New Version!!&quot;&lt;/span&gt; message: &lt;span style=&quot;color: #d32d26;&quot;&gt;@&quot;A new version of app is available to download&quot;&lt;/span&gt; delegate:&lt;span style=&quot;color: #bc319c;&quot;&gt;self&lt;/span&gt; cancelButtonTitle:&lt;span style=&quot;color: #bc319c;&quot;&gt;nil&lt;/span&gt; otherButtonTitles: @”Update&lt;span style=&quot;color: #d32d26;&quot;&gt;&quot;, nil];&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&amp;nbsp; &amp;nbsp; [createUserResponseAlert show];&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #008327; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp; &amp;nbsp; [createUserResponseAlert release];&lt;/span&gt;//Avoid if using Automatic reference counting&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
}&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;Redirect User&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;



&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
-(&lt;span style=&quot;color: #bc319c;&quot;&gt;void&lt;/span&gt;)alertView:(&lt;span style=&quot;color: #7141a3;&quot;&gt;UIAlertView&lt;/span&gt; *)actionSheet clickedButtonAtIndex:(&lt;span style=&quot;color: #4d8186;&quot;&gt;NSInteger&lt;/span&gt;)buttonIndex&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
{&lt;/div&gt;
&lt;div style=&quot;color: #d32d26; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4d8186;&quot;&gt;NSString&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt; *iTunesLink = &lt;/span&gt;@&quot;itms-apps://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftwareUpdate?id=&amp;lt;appid&amp;gt;&amp;amp;mt=8&quot;&lt;span style=&quot;color: black;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&amp;nbsp; &amp;nbsp; [[&lt;span style=&quot;color: #7141a3;&quot;&gt;UIApplication&lt;/span&gt; &lt;span style=&quot;color: #3e227c;&quot;&gt;sharedApplication&lt;/span&gt;] &lt;span style=&quot;color: #3e227c;&quot;&gt;openURL&lt;/span&gt;:[&lt;span style=&quot;color: #4d8186;&quot;&gt;NSURL&lt;/span&gt; &lt;span style=&quot;color: #30595d;&quot;&gt;URLWithString&lt;/span&gt;:iTunesLink]];&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
}&lt;/div&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;/b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;/b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;/b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/1821828389980823397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2012/07/can-i-force-iphone-user-to-upgrade.html#comment-form' title='259 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/1821828389980823397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/1821828389980823397'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2012/07/can-i-force-iphone-user-to-upgrade.html' title='Can I force an iPhone user to upgrade an application?'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrydjCehXRadRvA17bqs2nb8SUVmxBSog7iTRdBgCiRKxeVvr7XYyiV-U1Te_vtYhU68itCD5GP78fvareZXdDCLdijeWP6QHVQhBu7duzy5NcrEaydYOjcjA5BGljcRgAIXKIR4GeJCpq/s72-c/photo.PNG" height="72" width="72"/><thr:total>259</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-7649302248762950015</id><published>2012-07-18T11:43:00.003-04:00</published><updated>2017-04-27T22:42:24.249-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Objective C"/><title type='text'>Which object is create by UIApplicationMain function at app launch time?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Tahoma, Helvetica, sans-serif; font-size: 13px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;The app delegate object is created by UIApplicationMain function at app launch time. The app delegate object&#39;s main&amp;nbsp;job is to handle state transitions within the app.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/7649302248762950015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2012/07/which-object-is-create-by.html#comment-form' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/7649302248762950015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/7649302248762950015'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2012/07/which-object-is-create-by.html' title='Which object is create by UIApplicationMain function at app launch time?'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-4585919481151311425</id><published>2012-07-18T11:21:00.001-04:00</published><updated>2017-04-27T22:42:24.164-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Objective C"/><title type='text'>How main function of an app gets called during the app launch cycle?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Tahoma, Helvetica, sans-serif; font-size: 13px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;During app launching, the system creates a main thread for the app and calls the app’s main function on that main thread. The Xcode project&#39;s default main function hands over control&amp;nbsp;to the UIKit framework, which takes care of initializing the app before it is run&lt;/span&gt;.&lt;/span&gt;&lt;span style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/4585919481151311425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2012/07/who-calls-main-function-of-you-app.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/4585919481151311425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/4585919481151311425'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2012/07/who-calls-main-function-of-you-app.html' title='How main function of an app gets called during the app launch cycle?'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-3641436922490875283</id><published>2012-07-18T11:14:00.002-04:00</published><updated>2017-04-27T22:42:24.137-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Objective C"/><title type='text'>Name the application thread from where UIKit classes should be used?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Tahoma, Helvetica, sans-serif; font-size: 13px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;UIKit classes should be used only from an application’s main thread. &amp;nbsp;Note:&amp;nbsp;The derived classes of UIResponder and the classes which manipulate application’s user interface should be used from application’s main thread.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/3641436922490875283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2012/07/name-application-thread-from-where.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/3641436922490875283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/3641436922490875283'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2012/07/name-application-thread-from-where.html' title='Name the application thread from where UIKit classes should be used?'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-5933068935695780386</id><published>2012-07-18T11:04:00.000-04:00</published><updated>2017-04-27T22:42:24.216-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Objective C"/><title type='text'>Does iOS support multitasking?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Tahoma, Helvetica, sans-serif; font-size: 13px;&quot;&gt;iOS 4 and above supports multi-tasking and allows apps to remain in the background until they are launched again or until they are terminated&lt;span style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/5933068935695780386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2012/07/does-ios-support-multitasking.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/5933068935695780386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/5933068935695780386'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2012/07/does-ios-support-multitasking.html' title='Does iOS support multitasking?'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-8959718247682056231</id><published>2011-12-15T14:55:00.001-05:00</published><updated>2017-04-27T22:42:24.291-04:00</updated><title type='text'>Native vs Mobile Web vs Hybrid -Apps</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: yellow;&quot;&gt;About Native:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
Native applications are those which are platform and hardware dependent. These are built using specific programming language like Objective C for iOS, Java for Android and .Net for Windows.&lt;br /&gt;
&lt;br /&gt;
These mobile applications are fast, reliable, responsive and powerful but are tied to a specific platform.&lt;br /&gt;
&lt;br /&gt;
Must be deployed or downloaded. Most apps requires approval and you have to wait for them to get approved.&lt;br /&gt;
&lt;br /&gt;
Access to hardware sensors like Camera, Gyroscope, Microphone, Compass.&lt;br /&gt;
&lt;br /&gt;
Few problems with Audio and Video. Flash works but only if device supports it.&lt;br /&gt;
&lt;br /&gt;
Specific tools required for some platforms ( like Apple&#39;s) , You have to built a new app for each target platform.&lt;br /&gt;
&lt;br /&gt;
Tight control over typefaces and layout.&lt;br /&gt;
&lt;br /&gt;
You can charge whatever you wish for your application but most App distributors take a slice up to 30%.&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: yellow;&quot;&gt;About Mobile-Web&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: yellow;&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
Mobile-Web applications are simply the &amp;nbsp;web-pages designed for the Mobile devices, i,e optimizing your websites for use on smaller screens.&lt;br /&gt;
&lt;br /&gt;
Mobile-Web Apps refers to the use of internet connected applications, or browser based access to the internet from a mobile device, which is connected to a wireless network.&lt;br /&gt;
&lt;br /&gt;
Mobile-Web applications holds the promise of overcoming this fragmentation in Mobile OS&#39;s and Apple Store marketplaces by enabling you to develop apps that will run across platforms, across devices using open web technologies such &amp;nbsp;as HTML, CSS, JavaScript.&lt;br /&gt;
&lt;br /&gt;
These Apps can be hosted on your already existing web-server and accessed at a standard URL through the device web-browser.&lt;br /&gt;
&lt;br /&gt;
Since these are platform agnostic, content can be reformatted with CSS &amp;nbsp;to suit any device.&lt;br /&gt;
&lt;br /&gt;
Browsers can be clunky but new advancements in JavaScript like jQuery Mobile are catching up fast.&lt;br /&gt;
&lt;br /&gt;
W3C’s Geo-location API is a simple JavaScript API that when plugged into your app can enhance the user’s interaction with your service by pinpointing their exact position using the GPS sensors built into today’s devices. Supported by many of today’s Mobile WebKit browsers on all the main platforms. Google Maps uses this for their mobile web app.&lt;br /&gt;
&lt;br /&gt;
Developing and delivering Mobile-Web apps means no high-level coding languages, no payments to App Store platforms, no approval process.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: yellow;&quot;&gt;Scope of Mobile-Web Apps with HTML5:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
With HTML5&#39;s introduction of the new video element , web developers can now &amp;nbsp;include video within their pages without the need of embedding it in a plugin like flash. Given the high profile case of Apple refusing to support flash on their massively popular iOS devices, this is something of a huge relief to Mobile-Web developers.&lt;br /&gt;
&lt;br /&gt;
The HTML 5 specification contains a standard for local storage that is implemented by a wide variety of browsers. Using the localStorage API You can create applications that store their data locally on the user’s phone rather than on your servers. This can be used to enable applications that use dynamic data such as calendars to also be used offline, or to support personalization of the app by users without them needing to log in or have an account on your site.&lt;br /&gt;
&lt;br /&gt;
Giving your apps some level of offline capability can bring it closer to the native experience as your key interface features – buttons, images, styles, scripts, etc – can all still work even if the user has a poor internet connection.&lt;br /&gt;
&lt;br /&gt;
HTML5 enables developers to specify which files should be stored locally on the user’s device. This saves your app from ending up being a blank page if the user doesn’t have a connection, thus improving the user experience.&lt;br /&gt;
&lt;br /&gt;
HTML5’s Web Workers specification provides applications with the ability to use scripts that run in the background without interacting with users.&lt;br /&gt;
&lt;br /&gt;
Your mobile users will often have to key in information on your app. HTML5 brings new form types that are recognised by the browsers and formatted accordingly, presenting the user with the keyboard they need, no longer needing lengthy JavaScripts... just declared straight in the HTML.&lt;br /&gt;
&lt;br /&gt;
A primary reason that many companies are not already jumping on the HTML5 bandwagon is the belief that HTML apps cannot access native device features. Indeed, pure mobile web apps (i.e., those that run in the browser – not hybrid ones) are currently restricted in their access to features such as the camera, microphone, address book, and so forth.&lt;br /&gt;
&lt;br /&gt;
There is work in progress at the W3C to allow web apps to access such devices services , mobile browsers do not currently provide such functionality – a key requirement for many innovative mobile apps.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: yellow;&quot;&gt;About Hybrid-Apps:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
A Hybrid-App is a native, downloadable app that runs all or some of its user interface in a embedded browser component.&lt;br /&gt;
&lt;br /&gt;
Hybrid-App development employes native capabilities whiles also serving as a strategic stepping stone towards the adoption of HTML5.&lt;br /&gt;
&lt;br /&gt;
To the user a Hybrid-App is almost indistinguishable from a native one, it is downloaded from the App-Store or Marketplace. It is stored on the device and launched just like any other App.&lt;br /&gt;
&lt;br /&gt;
But to developers there is a huge difference because instead of rewriting the App from scratch for each Mobile-OS, they write at-least some of their application code in HTML, CSS and JavaScript and re-use it across devices.&lt;br /&gt;
&lt;br /&gt;
Hybrid-Apps provide access to hardware sensors, frameworks such as Open-Source PhoneGap Library makes it possible for JavaScript code to query the compass, take pictures, find or create contacts and appointments and tap on many other device features that Mobile-Web apps are barred from accessing.&lt;br /&gt;
&lt;br /&gt;
Unlike the Mobile-Web App, you don&#39;t browse to a Hybrid-App, you download and install it.&lt;br /&gt;
&lt;br /&gt;
Also, HTML pages of a hybrid app can be transmitted by a web server, but that’s not a requirement. To improve performance, hybrid apps can include a bundled copy of all required web resources (i.e., HTML, JavaScript, CSS and images) so that users will get instant access to them, without having to wait for a web server to send them over.&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/8959718247682056231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2011/12/about-native-native-applications-are.html#comment-form' title='32 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/8959718247682056231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/8959718247682056231'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2011/12/about-native-native-applications-are.html' title='Native vs Mobile Web vs Hybrid -Apps'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>32</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-5052556530421860542</id><published>2011-01-12T14:55:00.000-05:00</published><updated>2017-04-27T22:43:49.007-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iOS"/><title type='text'>what are the different types of iOS provisional Profiles? what is the use of each and how do i create one?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
iOS provisional is profile is something which is introduced by apple &amp;nbsp;for developers , who want to post their apps to App store, Enterprise distribution and &amp;nbsp;test the apps on their devices.&lt;br /&gt;
&lt;br /&gt;
The different types of provision profiles introduced by apple are :&lt;br /&gt;
1) Development( to test on iOS devices).&lt;br /&gt;
2) Distribution. ( there are two types of Distribution profiles).&lt;br /&gt;
&amp;nbsp;&amp;nbsp; a) App store ( distribution to app store).&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;b) Ad-Hoc &amp;nbsp; ( this is used when you are working on Enterprise application where you were not worried about posting your app to the app store but if you want to distribute it among group of people).&lt;br /&gt;
&lt;br /&gt;
You Need to have a Developer account in-order to create provisional profiles, for more information on this you can visit &lt;a href=&quot;http://developer.apple.com/&quot;&gt;www. developer.apple.com&lt;/a&gt; and click on iOS Dev center.&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/5052556530421860542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2011/11/what-are-different-types-of-ios.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/5052556530421860542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/5052556530421860542'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2011/11/what-are-different-types-of-ios.html' title='what are the different types of iOS provisional Profiles? what is the use of each and how do i create one?'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-1365539474755519616</id><published>2010-09-15T16:55:00.000-04:00</published><updated>2017-04-27T22:42:24.117-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Objective C"/><title type='text'>Frame, Bounds and center in IOS?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse; font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; font-size: 14px; line-height: 18px;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; clear: both; font-size: 14px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;&quot;&gt;
&lt;strong style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;Frame&lt;/strong&gt;&amp;nbsp;A view&#39;s&amp;nbsp;&lt;code style=&quot;background-attachment: initial; background-clip: initial; background-color: #eeeeee; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 5px; padding-right: 5px; padding-top: 1px; vertical-align: baseline;&quot;&gt;frame&lt;/code&gt;&amp;nbsp;(&lt;code style=&quot;background-attachment: initial; background-clip: initial; background-color: #eeeeee; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 5px; padding-right: 5px; padding-top: 1px; vertical-align: baseline;&quot;&gt;CGRect&lt;/code&gt;) is the position of its rectangle in the&amp;nbsp;&lt;code style=&quot;background-attachment: initial; background-clip: initial; background-color: #eeeeee; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 5px; padding-right: 5px; padding-top: 1px; vertical-align: baseline;&quot;&gt;superview&lt;/code&gt;&#39;s coordinate system. By default it starts at the top left.&lt;/div&gt;
&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; clear: both; font-size: 14px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;&quot;&gt;
&lt;strong style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;Bounds&lt;/strong&gt;&amp;nbsp;A view&#39;s&amp;nbsp;&lt;code style=&quot;background-attachment: initial; background-clip: initial; background-color: #eeeeee; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 5px; padding-right: 5px; padding-top: 1px; vertical-align: baseline;&quot;&gt;bounds&lt;/code&gt;&amp;nbsp;(&lt;code style=&quot;background-attachment: initial; background-clip: initial; background-color: #eeeeee; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 5px; padding-right: 5px; padding-top: 1px; vertical-align: baseline;&quot;&gt;CGRect&lt;/code&gt;) expresses a view rectangle in its own coordinate system.&lt;/div&gt;
&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; clear: both; font-size: 14px; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;&quot;&gt;
&lt;strong style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;Center&lt;/strong&gt;&amp;nbsp;A&amp;nbsp;&lt;code style=&quot;background-attachment: initial; background-clip: initial; background-color: #eeeeee; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 5px; padding-right: 5px; padding-top: 1px; vertical-align: baseline;&quot;&gt;center&lt;/code&gt;&amp;nbsp;is a&amp;nbsp;&lt;code style=&quot;background-attachment: initial; background-clip: initial; background-color: #eeeeee; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 5px; padding-right: 5px; padding-top: 1px; vertical-align: baseline;&quot;&gt;CGPoint&lt;/code&gt;&amp;nbsp;expressed in terms of the&amp;nbsp;&lt;code style=&quot;background-attachment: initial; background-clip: initial; background-color: #eeeeee; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 1px; padding-left: 5px; padding-right: 5px; padding-top: 1px; vertical-align: baseline;&quot;&gt;superview&lt;/code&gt;&#39;s coordinate system and it determines the position of the exact center point of the view.&lt;/div&gt;
&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/1365539474755519616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2010/09/view-bounds-and-center-in-ios.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/1365539474755519616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/1365539474755519616'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2010/09/view-bounds-and-center-in-ios.html' title='Frame, Bounds and center in IOS?'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-3540838625446017597</id><published>2010-09-14T12:52:00.000-04:00</published><updated>2017-04-27T22:42:24.133-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Objective C"/><title type='text'>How to make a NSURL Request and parse the XML response?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #d32d26; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #d32d26; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #d32d26; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: #794830;&quot;&gt;#import &lt;/span&gt;&quot;ViewController.h&quot;&lt;/div&gt;
&lt;div style=&quot;color: #d32d26; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #d32d26; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: #794830;&quot;&gt;#import &lt;/span&gt;&quot;XMLReader.h&quot;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #d32d26; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #d32d26; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: yellow;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; //first you need to create a URL using String.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #d32d26; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #d32d26; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7141a3;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;NSURL&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt; *url = [&lt;/span&gt;&lt;span style=&quot;color: #7141a3;&quot;&gt;NSURL&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #3e227c;&quot;&gt;URLWithString&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;:&lt;/span&gt;@&quot;feed://feeds.feedburner.com/blogspot/MKGLf?format=xml&quot;&lt;span style=&quot;color: black;&quot;&gt;];&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #d32d26; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #d32d26; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: yellow;&quot;&gt;//Once you create a URL,you are ready make a request&lt;/span&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #7141a3; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #7141a3; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; NSURLRequest&lt;span style=&quot;color: black;&quot;&gt; *request = [&lt;/span&gt;NSURLRequest&lt;span style=&quot;color: black;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #3e227c;&quot;&gt;requestWithURL&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;:url];&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #7141a3; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #7141a3; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: yellow;&quot;&gt;//After making request the apparent thing is expecting the response that may be expected response or an Error. so create those objects and initialize them with NULL.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #7141a3;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NSURLResponse&lt;/span&gt; *response = &lt;span style=&quot;color: #bc319c;&quot;&gt;NULL&lt;/span&gt;;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #7141a3;&quot;&gt;NSError&lt;/span&gt; *requestError = &lt;span style=&quot;color: #bc319c;&quot;&gt;NULL&lt;/span&gt;;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 13.0px;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 13.0px;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: yellow;&quot;&gt;//Once you have response with you, capture your responseData using NSData&lt;/span&gt;.&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #7141a3;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; NSData&lt;/span&gt; *responseData = [&lt;span style=&quot;color: #7141a3;&quot;&gt;NSURLConnection&lt;/span&gt; &lt;span style=&quot;color: #3e227c;&quot;&gt;sendSynchronousRequest&lt;/span&gt;:request &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #3e227c;&quot;&gt;returningResponse&lt;/span&gt;:&amp;amp;response &lt;span style=&quot;color: #3e227c;&quot;&gt;error&lt;/span&gt;:&amp;amp;requestError];&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: yellow;&quot;&gt;//Convert the response data into response String&lt;/span&gt;.&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 13.0px;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #3e227c; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #7141a3;&quot;&gt;NSString&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt; *responseString&amp;nbsp; = [[&lt;/span&gt;&lt;span style=&quot;color: #7141a3;&quot;&gt;NSString&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt; &lt;/span&gt;alloc&lt;span style=&quot;color: black;&quot;&gt;] &lt;/span&gt;initWithData&lt;span style=&quot;color: black;&quot;&gt;:responseData &lt;/span&gt;encoding&lt;span style=&quot;color: black;&quot;&gt;:&lt;/span&gt;NSUTF8StringEncoding&lt;span style=&quot;color: black;&quot;&gt;];&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #3e227c; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #3e227c; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: yellow;&quot;&gt;//Now you can start parsing the data using XML parser.&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: yellow;&quot;&gt;&amp;nbsp;You need XML parser in-order to &amp;nbsp; &amp;nbsp; use the below class method &quot;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #30595d;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: yellow;&quot;&gt;dictionaryForXMLString&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 13.0px;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #7141a3;&quot;&gt;NSError&lt;/span&gt; *parserError = &lt;span style=&quot;color: #bc319c;&quot;&gt;NULL&lt;/span&gt;;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #7141a3;&quot;&gt;NSDictionary&lt;/span&gt; *xmlDict = [&lt;span style=&quot;color: #4d8186;&quot;&gt;XMLReader&lt;/span&gt; &lt;span style=&quot;color: #30595d;&quot;&gt;dictionaryForXMLString&lt;/span&gt;:responseString &lt;span style=&quot;color: #30595d;&quot;&gt;error&lt;/span&gt;:&lt;span style=&quot;color: #bc319c;&quot;&gt;NULL&lt;/span&gt;];&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: yellow;&quot;&gt;//Once You have xmlDict handy, you can pass this to the any ViewController(like tableview) to populate the data.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: yellow;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;&quot;&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/3540838625446017597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2011/12/how-to-make-nsurl-request-and-parse-xml.html#comment-form' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/3540838625446017597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/3540838625446017597'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2011/12/how-to-make-nsurl-request-and-parse-xml.html' title='How to make a NSURL Request and parse the XML response?'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4998631246699292767.post-7860760607792141913</id><published>2010-07-15T15:11:00.000-04:00</published><updated>2017-04-27T22:42:24.264-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Objective C"/><title type='text'>What happens when you pass a message to the nil object in Objective C</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Nothing happens, Your app will not get crashed because of that, just Objective C will ignore that.&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;ca-pub-9514815740364219&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ranga-iphone-developer.blogspot.com/feeds/7860760607792141913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2011/11/what-happens-when-you-pass-message-to.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/7860760607792141913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4998631246699292767/posts/default/7860760607792141913'/><link rel='alternate' type='text/html' href='http://ranga-iphone-developer.blogspot.com/2011/11/what-happens-when-you-pass-message-to.html' title='What happens when you pass a message to the nil object in Objective C'/><author><name>Ranga Reddy Nallavelli</name><uri>http://www.blogger.com/profile/11487870101946353898</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXehA57u2aeRSdhQLyAvzIwGHccNo_x2xFDL8OsYKDoVt05aBPUgGC-IrkLHrRoWmcMpogbXf8KT04qVu6G5klBzUiXJYRG8JpTQNNKYr0H3x2rfXZ-Swbp_ufMa29Y9Q/s150/317713_2168322721390_371187637_n.jpg'/></author><thr:total>4</thr:total></entry></feed>