{"id":3151,"date":"2011-03-08T17:49:46","date_gmt":"2011-03-08T22:49:46","guid":{"rendered":"http:\/\/mjtsai.com\/blog\/?p=3151"},"modified":"2011-03-08T17:49:48","modified_gmt":"2011-03-08T22:49:48","slug":"core-data-user-info","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2011\/03\/08\/core-data-user-info\/","title":{"rendered":"On The Usefulness Of Core Data&rsquo;s User Info"},"content":{"rendered":"<p><a href=\"http:\/\/www.mentalfaculty.com\/mentalfaculty\/Blog\/Entries\/2011\/3\/8_On_the_Usefulness_of_Core_Datas_User_Info.html\">Drew McCormack<\/a> stores some metadata in the managed object model to aid in implementing copy and paste:<\/p>\n<blockquote cite=\"http:\/\/www.mentalfaculty.com\/mentalfaculty\/Blog\/Entries\/2011\/3\/8_On_the_Usefulness_of_Core_Datas_User_Info.html\"><p>Core Data defines a few metadata properties for each attribute and relationship. For example, properties can be transient, optional, and have a particular data type. The <code>userInfo<\/code> dictionary allows you to extend this basic set, defining your own metadata. By doing this, you are able to write code for traversing your object graph that is much more generic and flexible. (It is interesting to note that Apple itself adds metadata to <code>userInfo<\/code>, for stipulating whether to include an entity in a sync, for example.)<\/p><\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Drew McCormack stores some metadata in the managed object model to aid in implementing copy and paste: Core Data defines a few metadata properties for each attribute and relationship. For example, properties can be transient, optional, and have a particular data type. The userInfo dictionary allows you to extend this basic set, defining your own [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-3151","post","type-post","status-publish","format-standard","hentry","category-programming-category"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/3151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=3151"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/3151\/revisions"}],"predecessor-version":[{"id":3152,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/3151\/revisions\/3152"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=3151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=3151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=3151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}