{"id":764,"date":"2020-01-16T12:29:00","date_gmt":"2020-01-16T03:29:00","guid":{"rendered":"https:\/\/www.elehobby.fun\/?p=764"},"modified":"2022-03-06T11:22:46","modified_gmt":"2022-03-06T02:22:46","slug":"swiftno6-beginning-ios13-app-development","status":"publish","type":"post","link":"https:\/\/www.7crystalsky.com\/?p=764","title":{"rendered":"Swift\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30ebNo.6 Beginning iOS13&#038;Swift App Development"},"content":{"rendered":"<div class=\"veu_autoEyeCatchBox\"><img loading=\"lazy\" decoding=\"async\" width=\"616\" height=\"890\" src=\"https:\/\/www.7crystalsky.com\/wp-content\/uploads\/2020\/01\/25E3258225B925E3258225AF25E3258325AA25E3258325BC25E3258325B325E3258225B725E3258325A725E32583258325E3258325882B2020-01-132B19.57.01.png\" class=\"attachment-large size-large wp-post-image\" alt=\"\" srcset=\"https:\/\/www.7crystalsky.com\/wp-content\/uploads\/2020\/01\/25E3258225B925E3258225AF25E3258325AA25E3258325BC25E3258325B325E3258225B725E3258325A725E32583258325E3258325882B2020-01-132B19.57.01.png 616w, https:\/\/www.7crystalsky.com\/wp-content\/uploads\/2020\/01\/25E3258225B925E3258225AF25E3258325AA25E3258325BC25E3258325B325E3258225B725E3258325A725E32583258325E3258325882B2020-01-132B19.57.01-208x300.png 208w, https:\/\/www.7crystalsky.com\/wp-content\/uploads\/2020\/01\/25E3258225B925E3258225AF25E3258325AA25E3258325BC25E3258325B325E3258225B725E3258325A725E32583258325E3258325882B2020-01-132B19.57.01-367x530.png 367w, https:\/\/www.7crystalsky.com\/wp-content\/uploads\/2020\/01\/25E3258225B925E3258225AF25E3258325AA25E3258325BC25E3258325B325E3258225B725E3258325A725E32583258325E3258325882B2020-01-132B19.57.01-391x565.png 391w, https:\/\/www.7crystalsky.com\/wp-content\/uploads\/2020\/01\/25E3258225B925E3258225AF25E3258325AA25E3258325BC25E3258325B325E3258225B725E3258325A725E32583258325E3258325882B2020-01-132B19.57.01-491x710.png 491w, https:\/\/www.7crystalsky.com\/wp-content\/uploads\/2020\/01\/25E3258225B925E3258225AF25E3258325AA25E3258325BC25E3258325B325E3258225B725E3258325A725E32583258325E3258325882B2020-01-132B19.57.01-502x725.png 502w\" sizes=\"auto, (max-width: 616px) 100vw, 616px\" \/><\/div>\n<p>\u4eca\u56de\u306f\u3001\u753b\u50cf\u3092\u6dfb\u4ed8\u3057\u305fTodo\u30ea\u30b9\u30c8\u306e\u4f5c\u6210\u3067\u3059\u3002<br \/>\n<img loading=\"lazy\" decoding=\"async\" border=\"0\" height=\"320\" src=\"https:\/\/hobby.7crystalsky.com\/wp-content\/uploads\/2020\/01\/F0E7496F-32B1-4418-A776-672D572978C2.jpg\" width=\"320\">\u5de6\u5074\u304c\u3001\u5165\u529b\u753b\u9762\u3002\u9805\u76ee\u3001\u512a\u5148\u9806\u4f4d\u3001\u753b\u50cf\u3092\u52a0\u3048\u305f\u30ea\u30b9\u30c8\u304c\u3055\u304f\u305b\u308c\u307e\u3059\u3002\u305d\u308c\u304c\u53f3\u5074\u306e\u5199\u771f\u3067\u3059\u3002<br \/>\n\u4eca\u56de\u306e\u753b\u50cf\u6dfb\u4ed8\u3067\u306f\u3001\u30ea\u30b9\u30c8\u4e0a\u306b\u306f\u30b5\u30e0\u30cd\u30a4\u30eb\u306e\u753b\u50cf\u306f\u3001\u8868\u793a\u3055\u308c\u307e\u3059\u304c\u3001DetailViewController\u306b\u306f\u3001\u753b\u50cf\u306f\u5168\u304f\u8868\u793a\u3055\u308c\u307e\u305b\u3093\u3002<br \/>\n\u3053\u306e\u8fba\u3092\u6539\u826f\u306e\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u5909\u66f4\u70b9\u306e\u307f\uff1a<\/p>\n<style type=\"text\/css\">\np.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #5d6c79; background-color: #ffffff}<br \/>\np.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000; color: rgba(0, 0, 0, 0.85); background-color: #ffffff; min-height: 21.0px}<br \/>\np.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000; color: rgba(0, 0, 0, 0.85); background-color: #ffffff}<br \/>\np.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #0b4f79; background-color: #ffffff}<br \/>\np.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #9b2393; background-color: #ffffff}<br \/>\np.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #4a5560; background-color: #ffffff}<br \/>\np.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #3900a0; background-color: #ffffff}<br \/>\nspan.s1 {color: #9b2393}<br \/>\nspan.s2 {color: rgba(0, 0, 0, 0.85)}<br \/>\nspan.s3 {color: #3900a0}<br \/>\nspan.s4 {color: #0f68a0}<br \/>\nspan.s5 {color: #c41a16}<br \/>\nspan.s6 {color: #1c00cf}<br \/>\nspan.s7 {color: #5d6c79}<br \/>\n<\/style>\n<div class=\"p1\"><\/div>\n<div class=\"p1\">\n\/\/<span class=\"Apple-converted-space\">&nbsp; <\/span>ToDoTableViewController.swift<\/div>\n<div class=\"p1\">\n\/\/<span class=\"Apple-converted-space\">&nbsp; <\/span>ToDoList2<\/div>\n<div class=\"p1\">\n<span style=\"color: rgba(0 , 0 , 0 , 0.85);\">&nbsp; &nbsp; &nbsp; &nbsp;<\/span><\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; &nbsp; &nbsp; <\/span><span class=\"s1\">if<\/span> <span class=\"s1\">let<\/span> data = selectedToDo.image{<\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <\/span>cell.imageView?.image = UIImage(data: data)<\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; &nbsp; &nbsp; <\/span>}<\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; &nbsp; &nbsp; <\/span><span class=\"s1\">return<\/span> cell<\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; <\/span>}<\/div>\n<div class=\"p2\"><\/div>\n<div class=\"p2\"><\/div>\n<div class=\"p1\"><\/div>\n<div class=\"p1\">\n\/\/<span class=\"Apple-converted-space\">&nbsp; <\/span>AddToDoViewController.swift<\/div>\n<div class=\"p1\">\n\/\/<span class=\"Apple-converted-space\">&nbsp; <\/span>ToDoList2<\/div>\n<div class=\"p1\"><\/div>\n<div class=\"p2\"><\/div>\n<div class=\"p3\">\n<span class=\"s1\">import<\/span> UIKit<\/div>\n<div class=\"p2\"><\/div>\n<div class=\"p4\">\n<span class=\"s1\">class<\/span><span class=\"s2\"> <\/span><span class=\"s3\">AddToDoViewController<\/span><span class=\"s2\">: <\/span>UIViewController<span class=\"s2\">, <\/span>UIImagePickerControllerDelegate<span class=\"s2\">, <\/span>UINavigationControllerDelegate<span class=\"s2\"> {<\/span><\/div>\n<div class=\"p2\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp;&nbsp;<\/span><\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; <\/span><span class=\"s1\">var<\/span> <span class=\"s5\">pickerController<\/span> = UIImagePickerController()<\/div>\n<div class=\"p2\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp;&nbsp;<\/span><\/div>\n<div class=\"p6\">\n<span class=\"s2\"><span class=\"Apple-converted-space\">&nbsp; &nbsp; <\/span><\/span>@IBOutlet<span class=\"s2\"> <\/span>weak<span class=\"s2\"> <\/span>var<span class=\"s2\"> <\/span><span class=\"s5\">imageView<\/span><span class=\"s2\">: <\/span><span class=\"s4\">UIImageView<\/span><span class=\"s2\">!<\/span><\/div>\n<div class=\"p6\">\n<span class=\"s2\"><span class=\"Apple-converted-space\">&nbsp; &nbsp; <\/span><\/span>override<span class=\"s2\"> <\/span>func<span class=\"s2\"> <\/span><span class=\"s5\">viewDidLoad<\/span><span class=\"s2\">() {<\/span><\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; &nbsp; &nbsp; <\/span><span class=\"s1\">super<\/span>.viewDidLoad()<\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; &nbsp; &nbsp; <\/span>pickerController.delegate = <span class=\"s1\">self<\/span><\/div>\n<div class=\"p2\">\n<span class=\"Apple-converted-space\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<\/span><\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; <\/span>}<\/div>\n<div class=\"p2\">\n<span class=\"Apple-converted-space\">&nbsp;&nbsp; &nbsp;<\/span><\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; <\/span><span class=\"s1\">@IBAction<\/span> <span class=\"s1\">func<\/span> <span class=\"s5\">cameraTapped<\/span>(<span class=\"s1\">_<\/span> sender: <span class=\"s1\">Any<\/span>) {<\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; &nbsp; &nbsp; <\/span>pickerController.sourceType = .camera<\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; &nbsp; &nbsp; <\/span>present(pickerController,animated: <span class=\"s1\">true<\/span>, completion: <span class=\"s1\">nil<\/span>)<\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; <\/span>}<\/div>\n<div class=\"p2\">\n<span class=\"Apple-converted-space\">&nbsp;&nbsp; &nbsp;<\/span><\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; <\/span><span class=\"s1\">@IBAction<\/span> <span class=\"s1\">func<\/span> <span class=\"s5\">mediaFolderTapped<\/span>(<span class=\"s1\">_<\/span> sender: <span class=\"s1\">Any<\/span>) {<\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; &nbsp; &nbsp; <\/span>pickerController.sourceType = .photoLibrary<\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; &nbsp; &nbsp; <\/span>present(pickerController,animated: <span class=\"s1\">true<\/span>, completion: <span class=\"s1\">nil<\/span>)<\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; <\/span>}<\/div>\n<div class=\"p2\">\n<span class=\"Apple-converted-space\">&nbsp;&nbsp; &nbsp;<\/span><\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp;&nbsp;<\/span><\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; <\/span><span class=\"s1\">func<\/span> <span class=\"s5\">imagePickerController<\/span>(<span class=\"s1\">_<\/span> picker: <span class=\"s4\">UIImagePickerController<\/span>, didFinishPickingMediaWithInfo info: [<span class=\"s4\">UIImagePickerController<\/span>.<span class=\"s4\">InfoKey<\/span> : <span class=\"s1\">Any<\/span>]) {<\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; &nbsp; &nbsp; <\/span><span class=\"s1\">if<\/span> <span class=\"s1\">let<\/span> image = info[.originalImage] <span class=\"s1\">as<\/span>? <span class=\"s4\">UIImage<\/span>{<\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <\/span>imageView.image = image<\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; &nbsp; &nbsp; <\/span>}<\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; &nbsp; &nbsp; <\/span>pickerController.dismiss(animated: <span class=\"s1\">true<\/span>, completion: <span class=\"s1\">nil<\/span>)<\/div>\n<div class=\"p3\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp; <\/span>}<\/div>\n<div class=\"p2\"><\/div>\n<div class=\"p1\">\n<style type=\"text\/css\">\np.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #5d6c79; background-color: #ffffff}<br \/>\np.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000; color: rgba(0, 0, 0, 0.85); background-color: #ffffff; min-height: 21.0px}<br \/>\np.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000; color: rgba(0, 0, 0, 0.85); background-color: #ffffff}<br \/>\np.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #3900a0; background-color: #ffffff}<br \/>\np.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #0f68a0; background-color: #ffffff}<br \/>\np.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #9b2393; background-color: #ffffff}<br \/>\nspan.s1 {color: #9b2393}<br \/>\nspan.s2 {color: rgba(0, 0, 0, 0.85)}<br \/>\nspan.s3 {color: #0b4f79}<br \/>\nspan.s4 {color: #3900a0}<br \/>\nspan.s5 {color: #0f68a0}<br \/>\nspan.s6 {color: #1c00cf}<br \/>\nspan.s7 {color: #5d6c79}<br \/>\n<\/style>\n<\/div>\n<div class=\"p3\">\n}<\/div>\n<div class=\"p2\">\n<style type=\"text\/css\">\np.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #5d6c79; background-color: #ffffff}<br \/>\np.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000; color: rgba(0, 0, 0, 0.85); background-color: #ffffff; min-height: 21.0px}<br \/>\np.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000; color: rgba(0, 0, 0, 0.85); background-color: #ffffff}<br \/>\np.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #0b4f79; background-color: #ffffff}<br \/>\np.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #9b2393; background-color: #ffffff}<br \/>\nspan.s1 {color: #9b2393}<br \/>\nspan.s2 {color: rgba(0, 0, 0, 0.85)}<br \/>\nspan.s3 {color: #3900a0}<br \/>\nspan.s4 {color: #0f68a0}<br \/>\nspan.s5 {color: #1c00cf}<br \/>\nspan.s6 {color: #c41a16}<br \/>\n<\/style>\n<\/div>\n<div class=\"p2\">\n<span class=\"Apple-converted-space\">&nbsp; &nbsp;<\/span><\/div>\n<div class=\"veu_socialSet veu_socialSet-position-after veu_contentAddSection\"><script>window.twttr=(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src=\"https:\/\/platform.twitter.com\/widgets.js\";fjs.parentNode.insertBefore(js,fjs);t._e=[];t.ready=function(f){t._e.push(f);};return t;}(document,\"script\",\"twitter-wjs\"));<\/script><ul><li class=\"sb_facebook sb_icon\"><a class=\"sb_icon_inner\" href=\"\/\/www.facebook.com\/sharer.php?src=bm&u=https%3A%2F%2Fwww.7crystalsky.com%2F%3Fp%3D764&amp;t=IT%E3%82%92%E6%A5%BD%E3%81%97%E3%82%80%E4%BC%9A\" target=\"_blank\" onclick=\"window.open(this.href,'FBwindow','width=650,height=450,menubar=no,toolbar=no,scrollbars=yes');return false;\"><span class=\"vk_icon_w_r_sns_fb icon_sns\"><\/span><span class=\"sns_txt\">Facebook<\/span><span class=\"veu_count_sns_fb\"><\/span><\/a><\/li><li class=\"sb_x_twitter sb_icon\"><a class=\"sb_icon_inner\" href=\"\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fwww.7crystalsky.com%2F%3Fp%3D764&amp;text=IT%E3%82%92%E6%A5%BD%E3%81%97%E3%82%80%E4%BC%9A\" target=\"_blank\" ><span class=\"vk_icon_w_r_sns_x_twitter icon_sns\"><\/span><span class=\"sns_txt\">X<\/span><\/a><\/li><\/ul><\/div><!-- [ \/.socialSet ] -->","protected":false},"excerpt":{"rendered":"<p>\u4eca\u56de\u306f\u3001\u753b\u50cf\u3092\u6dfb\u4ed8\u3057\u305fTodo\u30ea\u30b9\u30c8\u306e\u4f5c\u6210\u3067\u3059\u3002 \u5de6\u5074\u304c\u3001\u5165\u529b\u753b\u9762\u3002\u9805\u76ee\u3001\u512a\u5148\u9806\u4f4d\u3001\u753b\u50cf\u3092\u52a0\u3048\u305f\u30ea\u30b9\u30c8\u304c\u3055\u304f\u305b\u308c\u307e\u3059\u3002\u305d\u308c\u304c\u53f3\u5074\u306e\u5199\u771f\u3067\u3059\u3002 \u4eca\u56de\u306e\u753b\u50cf\u6dfb\u4ed8\u3067\u306f\u3001\u30ea\u30b9\u30c8\u4e0a\u306b\u306f\u30b5\u30e0\u30cd\u30a4\u30eb\u306e\u753b\u50cf\u306f\u3001\u8868\u793a\u3055\u308c\u307e\u3059\u304c\u3001Detai [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":48,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"vkexunit_cta_each_option":"","footnotes":""},"categories":[49,22,50,32],"tags":[7,8,9],"class_list":["post-764","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mac","category-swift","category-xcode","category-32","tag-swift5ios13","tag-xcode11","tag-9"],"_links":{"self":[{"href":"https:\/\/www.7crystalsky.com\/index.php?rest_route=\/wp\/v2\/posts\/764","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.7crystalsky.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.7crystalsky.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.7crystalsky.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.7crystalsky.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=764"}],"version-history":[{"count":1,"href":"https:\/\/www.7crystalsky.com\/index.php?rest_route=\/wp\/v2\/posts\/764\/revisions"}],"predecessor-version":[{"id":1091,"href":"https:\/\/www.7crystalsky.com\/index.php?rest_route=\/wp\/v2\/posts\/764\/revisions\/1091"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.7crystalsky.com\/index.php?rest_route=\/wp\/v2\/media\/48"}],"wp:attachment":[{"href":"https:\/\/www.7crystalsky.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=764"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.7crystalsky.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=764"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.7crystalsky.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=764"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}