{"id":29731,"date":"2023-01-10T19:07:34","date_gmt":"2023-01-10T13:37:34","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/"},"modified":"2023-01-10T19:07:34","modified_gmt":"2023-01-10T13:37:34","slug":"solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/","title":{"rendered":"[Solved] Obj-C &#8211; How to pass data between viewcontrollers using a singleton?"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-11406007\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"11406007\" data-parentid=\"11405636\" data-score=\"5\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>Your addressing, and memory management is just plain&#8230; off.  Firstly, there&#8217;s absolutely no reason to create a singleton for this, but that&#8217;s beside the point here.<\/p>\n<p>Secondly, when declaring properties, (atomic, assign) is defaulted to if not otherwise specified, which means your string:<\/p>\n<pre><code>@property (nonatomic)NSString *passedValue;\n<\/code><\/pre>\n<p>is weak sauce, ripe for deallocation and destruction at a moments notice.  Declare it <code>copy<\/code>, <code>strong<\/code>, or <code>retain<\/code>.<\/p>\n<p>Thirdly, there&#8217;s absolutely no reference to your singleton in the pushed view controller, yet you seem to have the belief that objects that are named the same in different classes retain their value (especially when #import&#8217;ed).  Not so.  You need to reference your singleton and pull the value of <code>[Model sharedModel].passedText<\/code> into that text field.<\/p>\n<p>In fact, I fixed your sample in two lines:<\/p>\n<pre><code>\/\/ViewController2.m\n#import \"ViewController2.h\"\n\n\/\/actually import the singleton for access later\n#import \"Model.h\"\n\n@interface ViewController2 () {\n    NSString *passedtext;\n}\n@end\n@implementation ViewController2\n@synthesize lbl = _lbl;\n@synthesize passedValue = _passedValue;\n- (void)viewDidLoad\n{\n\n \/\/ do code stuff here\n    NSLog(@\"passedText = %@\",passedText);\n    \/\/actually reference the singleton this time\n    _lbl.text = [Model sharedModel].passedText;\n\n    [super viewDidLoad];\n}\n- (void)viewDidUnload\n{\n    [self setLbl:nil];\n    [super viewDidUnload];\n    \/\/ Release any retained subviews of the main view.\n}\n- (IBAction)back:(id)sender {\n\n    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@\"MainStoryboard\" bundle:nil];\n    ViewController *vc = (ViewController *) [storyboard instantiateViewControllerWithIdentifier:@\"welcome\"];\n    [self presentModalViewController:vc animated:YES];\n}\n@end\n<\/code><\/pre>\n<p>Which yields this:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2023\/01\/Solved-Obj-C-How-to-pass-data-between-viewcontrollers-using.png\" alt=\"Fixed the code\"><\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\"><\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Obj-C &#8211; How to pass data between viewcontrollers using a singleton? <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Your addressing, and memory management is just plain&#8230; off. Firstly, there&#8217;s absolutely no reason to create a singleton for this, but that&#8217;s beside the point here. Secondly, when declaring properties, (atomic, assign) is defaulted to if not otherwise specified, which means your string: @property (nonatomic)NSString *passedValue; is weak sauce, ripe for deallocation and destruction &#8230; <a title=\"[Solved] Obj-C &#8211; How to pass data between viewcontrollers using a singleton?\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/\" aria-label=\"More on [Solved] Obj-C &#8211; How to pass data between viewcontrollers using a singleton?\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[471,830],"class_list":["post-29731","post","type-post","status-publish","format-standard","hentry","category-solved","tag-ios","tag-xcode"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Obj-C - How to pass data between viewcontrollers using a singleton? - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Obj-C - How to pass data between viewcontrollers using a singleton? - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Your addressing, and memory management is just plain&#8230; off. Firstly, there&#8217;s absolutely no reason to create a singleton for this, but that&#8217;s beside the point here. Secondly, when declaring properties, (atomic, assign) is defaulted to if not otherwise specified, which means your string: @property (nonatomic)NSString *passedValue; is weak sauce, ripe for deallocation and destruction ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-10T13:37:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2023\/01\/Solved-Obj-C-How-to-pass-data-between-viewcontrollers-using.png\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Obj-C &#8211; How to pass data between viewcontrollers using a singleton?\",\"datePublished\":\"2023-01-10T13:37:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/\"},\"wordCount\":153,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2023\/01\/Solved-Obj-C-How-to-pass-data-between-viewcontrollers-using.png\",\"keywords\":[\"ios\",\"xcode\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/\",\"name\":\"[Solved] Obj-C - How to pass data between viewcontrollers using a singleton? - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2023\/01\/Solved-Obj-C-How-to-pass-data-between-viewcontrollers-using.png\",\"datePublished\":\"2023-01-10T13:37:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/#primaryimage\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2023\/01\/Solved-Obj-C-How-to-pass-data-between-viewcontrollers-using.png\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2023\/01\/Solved-Obj-C-How-to-pass-data-between-viewcontrollers-using.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Obj-C &#8211; How to pass data between viewcontrollers using a singleton?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Obj-C - How to pass data between viewcontrollers using a singleton? - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Obj-C - How to pass data between viewcontrollers using a singleton? - JassWeb","og_description":"[ad_1] Your addressing, and memory management is just plain&#8230; off. Firstly, there&#8217;s absolutely no reason to create a singleton for this, but that&#8217;s beside the point here. Secondly, when declaring properties, (atomic, assign) is defaulted to if not otherwise specified, which means your string: @property (nonatomic)NSString *passedValue; is weak sauce, ripe for deallocation and destruction ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/","og_site_name":"JassWeb","article_published_time":"2023-01-10T13:37:34+00:00","og_image":[{"url":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2023\/01\/Solved-Obj-C-How-to-pass-data-between-viewcontrollers-using.png","type":"","width":"","height":""}],"author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Obj-C &#8211; How to pass data between viewcontrollers using a singleton?","datePublished":"2023-01-10T13:37:34+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/"},"wordCount":153,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"image":{"@id":"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/#primaryimage"},"thumbnailUrl":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2023\/01\/Solved-Obj-C-How-to-pass-data-between-viewcontrollers-using.png","keywords":["ios","xcode"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/","url":"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/","name":"[Solved] Obj-C - How to pass data between viewcontrollers using a singleton? - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/#primaryimage"},"image":{"@id":"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/#primaryimage"},"thumbnailUrl":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2023\/01\/Solved-Obj-C-How-to-pass-data-between-viewcontrollers-using.png","datePublished":"2023-01-10T13:37:34+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/#primaryimage","url":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2023\/01\/Solved-Obj-C-How-to-pass-data-between-viewcontrollers-using.png","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2023\/01\/Solved-Obj-C-How-to-pass-data-between-viewcontrollers-using.png"},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-obj-c-how-to-pass-data-between-viewcontrollers-using-a-singleton\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Obj-C &#8211; How to pass data between viewcontrollers using a singleton?"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/29731","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=29731"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/29731\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=29731"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=29731"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=29731"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}