{"id":5254,"date":"2022-08-27T12:08:02","date_gmt":"2022-08-27T06:38:02","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-swift-array-append-not-appending-values-but-replacing-it\/"},"modified":"2022-08-27T12:08:02","modified_gmt":"2022-08-27T06:38:02","slug":"solved-swift-array-append-not-appending-values-but-replacing-it","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-swift-array-append-not-appending-values-but-replacing-it\/","title":{"rendered":"[Solved] Swift Array append not appending values but replacing it"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-54630843\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"54630843\" data-parentid=\"54630700\" data-score=\"1\" 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>There is not enough information but I can guess you where you have made mistake. <\/p>\n<p>Your class  <code>Bookmark<\/code> is not <strong>singleton<\/strong> class so,every time  <code>Bookmark()<\/code> create new instance every time. that means it will   create new <code>bookmark<\/code> object  for every instance.<\/p>\n<p>What I suggest you is inside func     <code>func setBookmark(imageURL:String, title:String, description:String, summary:String, date:String, link:String)<\/code><\/p>\n<p><strong>Method 1 :<\/strong> Fetch the latest bookmarks in separate variable and append new object inside it and write to User Default  as well as update the global object<\/p>\n<p><strong>Method 2<\/strong> Or you can make it singleton and use shared instance for every time you perform operation.<\/p>\n<p><strong>Method 3<\/strong> Another solution can be create global object of <code>Bookmark<\/code> in <code>AppDelegate<\/code> or Your singleton class  and then use that object <\/p>\n<p>However <\/p>\n<pre><code>func setBookmark(imageURL:String, title:String, description:String, summary:String, date:String, link:String)  {\n        bookmark.append([\"imageURL\":imageURL , \"title\":title , \"description\":description, \"summary\":summary , \"date\":date, \"link\":link])\n        UserDefaults.standard.set(bookmark, forKey: \"bookmark\")\n\n  }\n<\/code><\/pre>\n<p>This is the bad practice to follow.  You are directly <strong>replacing<\/strong> User default with new value however your intension is to append new element not replace existing data in userdefault. <\/p>\n<p>You should always fetch latest and update it Like method 1 show as well as If you wanted to fetch the data in userdefault there is no use of your global object      <code>var bookmark: [[String:Any]] = []<\/code> because you have already <code>getBookrmark<\/code> method there <\/p>\n<p>Hope it is clear to you<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">2<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Swift Array append not appending values but replacing it <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] There is not enough information but I can guess you where you have made mistake. Your class Bookmark is not singleton class so,every time Bookmark() create new instance every time. that means it will create new bookmark object for every instance. What I suggest you is inside func func setBookmark(imageURL:String, title:String, description:String, summary:String, date:String, &#8230; <a title=\"[Solved] Swift Array append not appending values but replacing it\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-swift-array-append-not-appending-values-but-replacing-it\/\" aria-label=\"More on [Solved] Swift Array append not appending values but replacing it\">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":[361,834,471,1122,522],"class_list":["post-5254","post","type-post","status-publish","format-standard","hentry","category-solved","tag-arrays","tag-dictionary","tag-ios","tag-nsarray","tag-swift"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Swift Array append not appending values but replacing it - 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-swift-array-append-not-appending-values-but-replacing-it\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Swift Array append not appending values but replacing it - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] There is not enough information but I can guess you where you have made mistake. Your class Bookmark is not singleton class so,every time Bookmark() create new instance every time. that means it will create new bookmark object for every instance. What I suggest you is inside func func setBookmark(imageURL:String, title:String, description:String, summary:String, date:String, ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-swift-array-append-not-appending-values-but-replacing-it\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-27T06:38:02+00:00\" \/>\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-swift-array-append-not-appending-values-but-replacing-it\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-swift-array-append-not-appending-values-but-replacing-it\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Swift Array append not appending values but replacing it\",\"datePublished\":\"2022-08-27T06:38:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-swift-array-append-not-appending-values-but-replacing-it\/\"},\"wordCount\":204,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"arrays\",\"dictionary\",\"ios\",\"nsarray\",\"swift\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-swift-array-append-not-appending-values-but-replacing-it\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-swift-array-append-not-appending-values-but-replacing-it\/\",\"name\":\"[Solved] Swift Array append not appending values but replacing it - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-08-27T06:38:02+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-swift-array-append-not-appending-values-but-replacing-it\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-swift-array-append-not-appending-values-but-replacing-it\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-swift-array-append-not-appending-values-but-replacing-it\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Swift Array append not appending values but replacing it\"}]},{\"@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] Swift Array append not appending values but replacing it - 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-swift-array-append-not-appending-values-but-replacing-it\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Swift Array append not appending values but replacing it - JassWeb","og_description":"[ad_1] There is not enough information but I can guess you where you have made mistake. Your class Bookmark is not singleton class so,every time Bookmark() create new instance every time. that means it will create new bookmark object for every instance. What I suggest you is inside func func setBookmark(imageURL:String, title:String, description:String, summary:String, date:String, ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-swift-array-append-not-appending-values-but-replacing-it\/","og_site_name":"JassWeb","article_published_time":"2022-08-27T06:38:02+00:00","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-swift-array-append-not-appending-values-but-replacing-it\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-swift-array-append-not-appending-values-but-replacing-it\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Swift Array append not appending values but replacing it","datePublished":"2022-08-27T06:38:02+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-swift-array-append-not-appending-values-but-replacing-it\/"},"wordCount":204,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["arrays","dictionary","ios","nsarray","swift"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-swift-array-append-not-appending-values-but-replacing-it\/","url":"https:\/\/jassweb.com\/solved\/solved-swift-array-append-not-appending-values-but-replacing-it\/","name":"[Solved] Swift Array append not appending values but replacing it - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-08-27T06:38:02+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-swift-array-append-not-appending-values-but-replacing-it\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-swift-array-append-not-appending-values-but-replacing-it\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-swift-array-append-not-appending-values-but-replacing-it\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Swift Array append not appending values but replacing it"}]},{"@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\/5254","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=5254"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/5254\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=5254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=5254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=5254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}