{"id":18040,"date":"2017-05-19T14:11:55","date_gmt":"2017-05-19T18:11:55","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=18040"},"modified":"2017-05-19T14:11:55","modified_gmt":"2017-05-19T18:11:55","slug":"xcode-autocomplete-frustrations","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2017\/05\/19\/xcode-autocomplete-frustrations\/","title":{"rendered":"Xcode Autocomplete Frustrations"},"content":{"rendered":"<p><a href=\"http:\/\/ericasadun.com\/2017\/05\/19\/xcode-autocomplete-frustrations\/\">Erica Sadun<\/a>:<\/p>\n<blockquote cite=\"http:\/\/ericasadun.com\/2017\/05\/19\/xcode-autocomplete-frustrations\/\"><p>A year after it debuted, Xcode&rsquo;s enhanced autocomplete features continue to struggle with overly liberal matches[&#8230;]<\/p><p>[&#8230;]<\/p><p>Successful autocompletion promotes good matches and discards inappropriate ones. &ldquo;<code>upper<\/code>&ldquo; should score high on <code>CFStringUppercase<\/code> and low on <code>CGScreenUpdateOperation<\/code> and <code>CSSMERR_TP_INVALID_CERTGROUP_POINTER<\/code>.<\/p><p>That&rsquo;s not the only problem with autocomplete. Image literal completion is a <em>big<\/em> problem. Xcode often prioritizes images over code APIs. When starting to type &ldquo;picker&rdquo;, Xcode should not suggest &ldquo;picture-of-lovely-cat&rdquo;.<\/p><\/blockquote>\n<p>Every time I create a new variable in Swift (i.e. type <code>let<\/code>, space, and then a letter), Xcode gives me a useless list containing <em>only<\/em> names of images. Not only do I never want these&mdash;I use methods\/properties to access my images rather than hard-coding strings in multiple places&mdash;but an image would not even be valid at that source location.<\/p>","protected":false},"excerpt":{"rendered":"<p>Erica Sadun: A year after it debuted, Xcode&rsquo;s enhanced autocomplete features continue to struggle with overly liberal matches[&#8230;][&#8230;]Successful autocompletion promotes good matches and discards inappropriate ones. &ldquo;upper&ldquo; should score high on CFStringUppercase and low on CGScreenUpdateOperation and CSSMERR_TP_INVALID_CERTGROUP_POINTER.That&rsquo;s not the only problem with autocomplete. Image literal completion is a big problem. Xcode often prioritizes images [&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":[30,1381,71,901,226],"class_list":["post-18040","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-mac","tag-macos-10-12","tag-programming","tag-swift-programming-language","tag-xcode"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/18040","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=18040"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/18040\/revisions"}],"predecessor-version":[{"id":18041,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/18040\/revisions\/18041"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=18040"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=18040"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=18040"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}