SwiftSlowly
Swift Concurrency by Example walks you through the many and varied ways of running concurrent code in Swift, including async/await, tasks, actors, and more.
Categories:
SwiftSlowly
Published:
July 12, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/07/12/swift-concurrency-by.html"
Params
map[categories:[SwiftSlowly] date:2021-07-12 17:48:33 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/07/12/swift-concurrency-by.html iscjklanguage:%!s(bool=false) lastmod:2021-07-12 17:48:33 -0700 -0700 layout:post microblog:%!s(bool=false) post_id:%!s(int=1360929) publishdate:2021-07-12 17:48:33 -0700 -0700 title:Swift Concurrency by Example - free quick start tutorials for Swift developers type:post url:/2021/07/12/swift-concurrency-by.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc002857680), (*hugolib.pageOutput)(0xc0028577a0), (*hugolib.pageOutput)(0xc0028578c0), (*hugolib.pageOutput)(0xc0028579e0), (*hugolib.pageOutput)(0xc002857b00), (*hugolib.pageOutput)(0xc002857c20), (*hugolib.pageOutput)(0xc002857d40), (*hugolib.pageOutput)(0xc002857e60)}, pageOutput:(*hugolib.pageOutput)(0xc002857680), pageCommon:(*hugolib.pageCommon)(0xc00101cf00)}
It’s been a while since I posted a score on one of the tests. I’m doing it this time because I’m pretty proud of myself for doing this section again. I really want to understand this part going forward.
Categories:
SwiftSlowly
Published:
February 18, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/02/18/days-of-swiftui.html"
Params
map[categories:[SwiftSlowly] date:2021-02-18 08:53:52 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/02/18/days-of-swiftui.html images:[https://cdn.uploads.micro.blog/661/2021/d4367ed84b.png] iscjklanguage:%!s(bool=false) lastmod:2021-02-18 08:53:52 -0700 -0700 layout:post microblog:%!s(bool=false) photos:<nil> photos_with_metadata:<nil> post_id:%!s(int=1267869) publishdate:2021-02-18 08:53:52 -0700 -0700 title:100 Days of SwiftUI - Day 34 (Part Deux) type:post url:/2021/02/18/days-of-swiftui.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc00269b200), (*hugolib.pageOutput)(0xc00269b320), (*hugolib.pageOutput)(0xc00269b440), (*hugolib.pageOutput)(0xc00269b560), (*hugolib.pageOutput)(0xc00269b680), (*hugolib.pageOutput)(0xc00269b7a0), (*hugolib.pageOutput)(0xc00269b8c0), (*hugolib.pageOutput)(0xc00269b9e0)}, pageOutput:(*hugolib.pageOutput)(0xc00269b200), pageCommon:(*hugolib.pageCommon)(0xc001512000)}
Today felt much better when it comes to getting the material. I’m really glad that I decided to do it again, and wish that I had done it earlier in the day so that I can reflect on it more.
Maybe I can sleep on it?
Categories:
SwiftSlowly
Published:
February 18, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/02/17/days-of-swiftui.html"
Params
map[categories:[SwiftSlowly] date:2021-02-18 00:01:24 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/02/17/days-of-swiftui.html iscjklanguage:%!s(bool=false) lastmod:2021-02-18 00:01:24 -0700 -0700 layout:post microblog:%!s(bool=false) post_id:%!s(int=1267522) publishdate:2021-02-18 00:01:24 -0700 -0700 title:100 Days of SwiftUI - Day 33 (Part Deux) type:post url:/2021/02/17/days-of-swiftui.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc00269a000), (*hugolib.pageOutput)(0xc00269a120), (*hugolib.pageOutput)(0xc00269a240), (*hugolib.pageOutput)(0xc00269a360), (*hugolib.pageOutput)(0xc00269a480), (*hugolib.pageOutput)(0xc00269a5a0), (*hugolib.pageOutput)(0xc00269a6c0), (*hugolib.pageOutput)(0xc00269a7e0)}, pageOutput:(*hugolib.pageOutput)(0xc00269a000), pageCommon:(*hugolib.pageCommon)(0xc00150d400)}
It feels good to accomplish something like this. The first time I looked at the material, I felt I was just going through the motions. Maybe it was a little bit of burn out with changes at work.
Today, I spent as much time just messing around with what I can do and I think that it’s a much more enjoyable experience.
Categories:
SwiftSlowly
Published:
February 16, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/02/16/days-of-swiftui.html"
Params
map[categories:[SwiftSlowly] date:2021-02-16 22:31:17 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/02/16/days-of-swiftui.html images:[https://cdn.uploads.micro.blog/661/2021/cded519315.png] iscjklanguage:%!s(bool=false) lastmod:2021-02-16 22:31:17 -0700 -0700 layout:post microblog:%!s(bool=false) photos:<nil> photos_with_metadata:<nil> post_id:%!s(int=1266659) publishdate:2021-02-16 22:31:17 -0700 -0700 title:100 Days of SwiftUI – Day 32 – Hacking with Swift (Part Deux) type:post url:/2021/02/16/days-of-swiftui.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc002692480), (*hugolib.pageOutput)(0xc0026925a0), (*hugolib.pageOutput)(0xc0026926c0), (*hugolib.pageOutput)(0xc0026927e0), (*hugolib.pageOutput)(0xc002692900), (*hugolib.pageOutput)(0xc002692a20), (*hugolib.pageOutput)(0xc002692b40), (*hugolib.pageOutput)(0xc002692c60)}, pageOutput:(*hugolib.pageOutput)(0xc002692480), pageCommon:(*hugolib.pageCommon)(0xc00150c500)}
Sometimes life changes a little bit or something comes along and makes you rethink what you are doing.
I was going through the last couple of days and I realized that this portion wasn’t sinking in as much as I would like. I could power through it, but I don’t want to.
Animations are really cool and can make an application really pop .
Also, this whole process is self directed. I don’t want to push something if I am not satisfied.
So, I’m going to do the section again.
Categories:
SwiftSlowly
Published:
February 14, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/02/14/days-of-swiftui.html"
Params
map[categories:[SwiftSlowly] date:2021-02-14 21:52:00 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/02/14/days-of-swiftui.html iscjklanguage:%!s(bool=false) lastmod:2021-02-14 21:52:00 -0700 -0700 layout:post microblog:%!s(bool=false) post_id:%!s(int=1265271) publishdate:2021-02-14 21:52:00 -0700 -0700 title:100 Days of SwiftUI – Restarting from day 32 – Hacking with Swift type:post url:/2021/02/14/days-of-swiftui.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc002688900), (*hugolib.pageOutput)(0xc002688a20), (*hugolib.pageOutput)(0xc002688b40), (*hugolib.pageOutput)(0xc002688c60), (*hugolib.pageOutput)(0xc002688d80), (*hugolib.pageOutput)(0xc002688ea0), (*hugolib.pageOutput)(0xc002688fc0), (*hugolib.pageOutput)(0xc0026890e0)}, pageOutput:(*hugolib.pageOutput)(0xc002688900), pageCommon:(*hugolib.pageCommon)(0xc0015b1400)}
I’m pretty happy that today’s lesson lands on a Friday. It will allow me to do more experimenting over the weekend!
Today we’re going to be getting into more advanced animations, and it’s where you’ll start to get a deeper understanding of how animations work and how you can customize them to a remarkable degree.
Categories:
SwiftSlowly
Published:
February 12, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/02/12/days-of-swiftui.html"
Params
map[categories:[SwiftSlowly] date:2021-02-12 18:56:50 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/02/12/days-of-swiftui.html iscjklanguage:%!s(bool=false) lastmod:2021-02-12 18:56:50 -0700 -0700 layout:post microblog:%!s(bool=false) post_id:%!s(int=1264158) publishdate:2021-02-12 18:56:50 -0700 -0700 title:100 Days of SwiftUI – Day 33 – Hacking with Swift type:post url:/2021/02/12/days-of-swiftui.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc00267e480), (*hugolib.pageOutput)(0xc00267e5a0), (*hugolib.pageOutput)(0xc00267e6c0), (*hugolib.pageOutput)(0xc00267e7e0), (*hugolib.pageOutput)(0xc00267e900), (*hugolib.pageOutput)(0xc00267ea20), (*hugolib.pageOutput)(0xc00267eb40), (*hugolib.pageOutput)(0xc00267ec60)}, pageOutput:(*hugolib.pageOutput)(0xc00267e480), pageCommon:(*hugolib.pageCommon)(0xc001477900)}
Today is an introduction to animation and I’m really looking forward to it.
Today we’ll be looking at easier animations, but tomorrow we’ll progress onto more difficult stuff – it’s a good idea to be aware of both, so you can tackle whatever problems come up in the future.
Today’s post is going to be short because I’m going to be doing some experiments in swift with binding animation and the xcode-beta that I’m running has already crashed twice.
Categories:
SwiftSlowly
Published:
February 11, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/02/11/days-of-swiftui.html"
Params
map[categories:[SwiftSlowly] date:2021-02-11 17:15:47 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/02/11/days-of-swiftui.html iscjklanguage:%!s(bool=false) lastmod:2021-02-11 17:15:47 -0700 -0700 layout:post microblog:%!s(bool=false) post_id:%!s(int=1263532) publishdate:2021-02-11 17:15:47 -0700 -0700 title:100 Days of SwiftUI – Day 32 – Hacking with Swift type:post url:/2021/02/11/days-of-swiftui.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc002674900), (*hugolib.pageOutput)(0xc002674a20), (*hugolib.pageOutput)(0xc002674b40), (*hugolib.pageOutput)(0xc002674c60), (*hugolib.pageOutput)(0xc002674d80), (*hugolib.pageOutput)(0xc002674ea0), (*hugolib.pageOutput)(0xc002674fc0), (*hugolib.pageOutput)(0xc0026750e0)}, pageOutput:(*hugolib.pageOutput)(0xc002674900), pageCommon:(*hugolib.pageCommon)(0xc001508f00)}
The apps continue to show more and more of what I can do in Swift and I’m really enjoying the feeling of getting through the challenges.
Obviously I want to get you towards SwiftUI greatness as fast and effectively as possible, but that takes a lot of consistency from you. To be fair, it is already day 31 and you keep coming back, so you’re fulfilling your part of the deal – well done!
What I liked about this particular app is that I had an opportunity to go back to an older project and cherry pick things from that to make this one better. With more experience and understanding, I really reinforced what I was learning.
Categories:
SwiftSlowly
Published:
February 10, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/02/10/days-of-swiftui.html"
Params
map[categories:[SwiftSlowly] date:2021-02-10 11:13:40 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/02/10/days-of-swiftui.html images:[https://cdn.uploads.micro.blog/661/2021/d102e02b9e.png] iscjklanguage:%!s(bool=false) lastmod:2021-02-10 11:13:40 -0700 -0700 layout:post microblog:%!s(bool=false) photos:<nil> photos_with_metadata:<nil> post_id:%!s(int=1262797) publishdate:2021-02-10 11:13:40 -0700 -0700 title:100 Days of SwiftUI – Day 31 – Hacking with Swift type:post url:/2021/02/10/days-of-swiftui.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc00266ad80), (*hugolib.pageOutput)(0xc00266aea0), (*hugolib.pageOutput)(0xc00266afc0), (*hugolib.pageOutput)(0xc00266b0e0), (*hugolib.pageOutput)(0xc00266b200), (*hugolib.pageOutput)(0xc00266b320), (*hugolib.pageOutput)(0xc00266b440), (*hugolib.pageOutput)(0xc00266b560)}, pageOutput:(*hugolib.pageOutput)(0xc00266ad80), pageCommon:(*hugolib.pageCommon)(0xc001508500)}
For today’s activity, I started it in the afternoon after a long day. I spent too much time looking up keyboard short cuts to get the Xcode preview to start (command+option+p).
Here are some good links.
After I got that out of my system, I was able to start focusing on the task at hand.
Yes, there will be a fair chunk of practice here, and yes, hopefully this will be an easy project for you. But that shouldn’t stop you from tackling it with gusto – give it your best shot!
After spending 5 minutes with that, I got even more in the weeds and made a video to show something cool with the mini map in Xcode.
<video width=“320” height=“240"controls>
Sorry, your browser doesn't support embedded videos. Here is a link to the video.
Then I settled in and made a really cool app with Paul. It’s exciting to see how all the little pieces come together to make something a lot more.
I think this is a great take away. Learning that these things can be broken into smaller pieces and accomplished.
Categories:
SwiftSlowly
Published:
February 9, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/02/09/days-of-swiftui.html"
Params
map[categories:[SwiftSlowly] date:2021-02-09 19:47:41 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/02/09/days-of-swiftui.html images:[https://cdn.uploads.micro.blog/661/2021/b9c21a3139.png] iscjklanguage:%!s(bool=false) lastmod:2021-02-09 19:47:41 -0700 -0700 layout:post microblog:%!s(bool=false) photos:<nil> photos_with_metadata:<nil> post_id:%!s(int=1262563) publishdate:2021-02-09 19:47:41 -0700 -0700 title:100 Days of SwiftUI – Day 30 – Hacking with Swift type:post url:/2021/02/09/days-of-swiftui.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc002662900), (*hugolib.pageOutput)(0xc002662a20), (*hugolib.pageOutput)(0xc002662b40), (*hugolib.pageOutput)(0xc002662c60), (*hugolib.pageOutput)(0xc002662d80), (*hugolib.pageOutput)(0xc002662ea0), (*hugolib.pageOutput)(0xc002662fc0), (*hugolib.pageOutput)(0xc0026630e0)}, pageOutput:(*hugolib.pageOutput)(0xc002662900), pageCommon:(*hugolib.pageCommon)(0xc0010cef00)}
A lot of people have mixed feelings about Monday’s. For me, I look at them with gratitude that I’m still employed. After this last weekend, I’m just happy that I don’t have to think about that disaster called a super bowl and can get back to “Hacking with Swift”!
Imagine my surprise to see this as the first line of today’s activity!
It’s time for another new project, and this is actually the last easy project we have on this course – after this the difficulty level ramps up a little as we tackle bigger apps, so enjoy this while it lasts!
The last couple of projects have really started to dive into some of the frameworks and just hope that I’ve given myslef enough time to really let the lessons stick in my brain as I move forward.
This lesson was kind of fun in that it reminded me that Swift
and SwiftUI
still takes a lot of utilities from the UIKit
. On the shoulders of giants, indeed.
Categories:
SwiftSlowly
Published:
February 8, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/02/08/days-of-swiftui.html"
Params
map[categories:[SwiftSlowly] date:2021-02-08 16:22:50 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/02/08/days-of-swiftui.html iscjklanguage:%!s(bool=false) lastmod:2021-02-08 16:22:50 -0700 -0700 layout:post microblog:%!s(bool=false) post_id:%!s(int=1262055) publishdate:2021-02-08 16:22:50 -0700 -0700 title:100 Days of SwiftUI – Day 29 – Hacking with Swift type:post url:/2021/02/08/days-of-swiftui.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc00265cd80), (*hugolib.pageOutput)(0xc00265cea0), (*hugolib.pageOutput)(0xc00265cfc0), (*hugolib.pageOutput)(0xc00265d0e0), (*hugolib.pageOutput)(0xc00265d200), (*hugolib.pageOutput)(0xc00265d320), (*hugolib.pageOutput)(0xc00265d440), (*hugolib.pageOutput)(0xc00265d560)}, pageOutput:(*hugolib.pageOutput)(0xc00265cd80), pageCommon:(*hugolib.pageCommon)(0xc0010ce000)}
I’m pretty happy that this review day landed on a Sunday.
It lets me go over my previous posts and to enjoy the Superb Owl .
That’s where I want you to reach with SwiftUI – to know that when you have a new project idea you can reach for part of project 1, part of project 3, part of project 4, and beyond, and already be 75% towards your goal. You’ll get there – just keep coming back each day!
Categories:
SwiftSlowly
Published:
February 7, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/02/07/144243.html"
Params
map[categories:[SwiftSlowly] date:2021-02-07 15:42:43 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/02/07/144243.html images:[https://pleated-jeans.com/wp-content/uploads/2011/02/superb-owl-sunday.jpg] iscjklanguage:%!s(bool=false) lastmod:2021-02-07 15:42:43 -0700 -0700 layout:post microblog:%!s(bool=false) photos:[https://pleated-jeans.com/wp-content/uploads/2011/02/superb-owl-sunday.jpg] photos_with_metadata:[map[height:%!s(int=400) url:https://pleated-jeans.com/wp-content/uploads/2011/02/superb-owl-sunday.jpg width:%!s(int=500)]] post_id:%!s(int=1261597) publishdate:2021-02-07 15:42:43 -0700 -0700 title:100 Days of SwiftUI – Day 28 – Hacking with Swift type:post url:/2021/02/07/144243.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc00264e900), (*hugolib.pageOutput)(0xc00264ea20), (*hugolib.pageOutput)(0xc00264eb40), (*hugolib.pageOutput)(0xc00264ec60), (*hugolib.pageOutput)(0xc00264ed80), (*hugolib.pageOutput)(0xc00264eea0), (*hugolib.pageOutput)(0xc00264efc0), (*hugolib.pageOutput)(0xc00264f0e0)}, pageOutput:(*hugolib.pageOutput)(0xc00264e900), pageCommon:(*hugolib.pageCommon)(0xc001476500)}
I’ve decided to change the default title for these posts to reflect what resource that I’m working on and make sure that all post related to my journey with Swift are in the “SwiftSlowly” Category.
Today’s activity is about CoreML and I can already tell that it’s going to be something that I’m going to have to review a little more.
Today we’re going to build our project, combining both SwiftUI and Core ML in remarkably few lines of code – I think you’ll be impressed.
The source material is amazing!
I’m looking at the things that haven’t kept up with when the original material was created as an opportunity to get do my own research. For example, changing the call to the CoreML model.
Luckily, I found a post about using duckduckgo and found a solution.
For extra cool points, I’m excited that I can still follow along with the understanding of what changed as far as the method call. My understanding is that the method calls to CoreML have changed. I don’t have the why at this point.
I’m also hoping that I’ll learn a better way of handling errors other than printing to the console, but that can be added to my technical debt pile.
Categories:
SwiftSlowly
Published:
February 7, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/02/07/days-of-swiftui.html"
Params
map[categories:[SwiftSlowly] date:2021-02-07 01:07:16 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/02/07/days-of-swiftui.html images:[https://cdn.uploads.micro.blog/661/2021/e5b93b13e3.png] iscjklanguage:%!s(bool=false) lastmod:2021-02-07 01:07:16 -0700 -0700 layout:post microblog:%!s(bool=false) photos:<nil> photos_with_metadata:<nil> post_id:%!s(int=1261329) publishdate:2021-02-07 01:07:16 -0700 -0700 title:100 Days of SwiftUI – Day 27 – Hacking with Swift type:post url:/2021/02/07/days-of-swiftui.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc00264f200), (*hugolib.pageOutput)(0xc00264f320), (*hugolib.pageOutput)(0xc00264f440), (*hugolib.pageOutput)(0xc00264f560), (*hugolib.pageOutput)(0xc00264f680), (*hugolib.pageOutput)(0xc00264f7a0), (*hugolib.pageOutput)(0xc00264f8c0), (*hugolib.pageOutput)(0xc00264f9e0)}, pageOutput:(*hugolib.pageOutput)(0xc00264f200), pageCommon:(*hugolib.pageCommon)(0xc001476a00)}
I’ve finished a quarter of the program! I’m pretty proud of myself for doing that. With everything going on it was good to have a nice project like this to work on.
That being said, I was very happy to see the following quote.
However, I want to say that if at any point you’re feeling tired, or if life just gets in the way, take a break! If you come back to your code in a day or two, you’ll be more relaxed and ready to learn. Like I said at the beginning, this is a marathon not a sprint, and you won’t learn effectively if you’re stressed.
I’m very tempted to take today off, but I’m also just as pumped to play around with the material before WandaVision comes on tonight.
Categories:
SwiftSlowly
Published:
February 5, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/02/05/204644.html"
Params
map[categories:[SwiftSlowly] date:2021-02-05 21:46:44 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/02/05/204644.html iscjklanguage:%!s(bool=false) lastmod:2021-02-05 21:46:44 -0700 -0700 layout:post microblog:%!s(bool=false) post_id:%!s(int=1260902) publishdate:2021-02-05 21:46:44 -0700 -0700 title:Swift Slowly: Day 40 - Hacking Swift 26 type:post url:/2021/02/05/204644.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc002643b00), (*hugolib.pageOutput)(0xc002643c20), (*hugolib.pageOutput)(0xc002643d40), (*hugolib.pageOutput)(0xc002643e60), (*hugolib.pageOutput)(0xc002648000), (*hugolib.pageOutput)(0xc002648120), (*hugolib.pageOutput)(0xc002648240), (*hugolib.pageOutput)(0xc002648360)}, pageOutput:(*hugolib.pageOutput)(0xc002643b00), pageCommon:(*hugolib.pageCommon)(0xc00144ea00)}
Today is a consolidation and challenge day! I’m a quarter of the way through this and I’m pretty excited and grateful to have made it this far. With that comes a little more stress as I’m venturing out on my own to do small challenges along the way.
Which brings me to the challenge!
Challenge
You have a basic understanding of arrays, state, views, images, text, and more, so let’s put them together: your challenge is to make a brain training game that challenges players to win or lose at rock, paper, scissors.
The first thing I did was take some time to sketch out what I want the application to look like.
It really didn’t take that long to get something on screen.
I’m taking a lot of the lessons and code from the Guess the flag game that I created earlier in order to move forward with this. I was fun to put the application together and I even spent some time doing some customization.
What took me the most time, was actually coming up with the logic to the game. Apparently, working on something complex after many days of not getting enough sleep can wear you down. Luckily, there is pen and paper and the ability to forgive myself and move on.
I’m just happy to be done!
Categories:
SwiftSlowly
Published:
February 5, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/02/05/swift-slowly-day.html"
Params
map[categories:[SwiftSlowly] date:2021-02-05 01:02:20 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/02/05/swift-slowly-day.html images:[https://cdn.uploads.micro.blog/661/2021/ccf2b61346.jpg https://cdn.uploads.micro.blog/661/2021/cfe689623e.png https://cdn.uploads.micro.blog/661/2021/be4cafb23a.png https://cdn.uploads.micro.blog/661/2021/d99a02de4f.jpg] iscjklanguage:%!s(bool=false) lastmod:2021-02-05 01:02:20 -0700 -0700 layout:post microblog:%!s(bool=false) photos:[https://cdn.uploads.micro.blog/661/2021/ccf2b61346.jpg https://cdn.uploads.micro.blog/661/2021/d99a02de4f.jpg] photos_with_metadata:[map[url:https://cdn.uploads.micro.blog/661/2021/ccf2b61346.jpg] map[url:https://cdn.uploads.micro.blog/661/2021/d99a02de4f.jpg]] post_id:%!s(int=1260473) publishdate:2021-02-05 01:02:20 -0700 -0700 title:Swift Slowly: Day 39 - Hacking Swift 25 type:post url:/2021/02/05/swift-slowly-day.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc002648d80), (*hugolib.pageOutput)(0xc002648ea0), (*hugolib.pageOutput)(0xc002648fc0), (*hugolib.pageOutput)(0xc0026490e0), (*hugolib.pageOutput)(0xc002649200), (*hugolib.pageOutput)(0xc002649320), (*hugolib.pageOutput)(0xc002649440), (*hugolib.pageOutput)(0xc002649560)}, pageOutput:(*hugolib.pageOutput)(0xc002648d80), pageCommon:(*hugolib.pageCommon)(0xc00144f400)}
It’s the middle of the week and it’s a good time to do some Swift development!
I’m a little struck by one of the things that Paul wrote in today’s exercise.
Albert Einstein once said, “any fool can know; the point is to understand,” and this project was specifically about giving you a deeper understanding of what makes SwiftUI tick. After all, you’ll be spending the next 76 days working with it, so it’s a good idea to make sure your foundations are rock solid before moving on.
Today’s activity is to go back and cement what I’ve learned by accomplishing three challenges. I get most of the changes, but it seems like some of the code has changed over time.
I got the other part of the challenge working, but it seams like the logic for ViewModifier
isn’t working with my current release of Xcode/Swift.
Update!
Another user let me know that .fontWeight is only on Text. I was really preoccupied that the challenge needed to work on views. I handled this by having multiple methods; one for Text and another for Content.
struct Title : ViewModifier {
func body (text:Text) -> some View {
text
.font(.largeTitle)
.fontWeight(.black)
.foregroundColor(.white)
}
func body (content:Content) -> some View {
content
.font(.largeTitle)
//.fontWeight(.black)
.foregroundColor(.white)
}
}
Categories:
SwiftSlowly
Published:
February 4, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/02/03/swift-slowly-day.html"
Params
map[categories:[SwiftSlowly] date:2021-02-04 00:38:54 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/02/03/swift-slowly-day.html images:[https://cdn.uploads.micro.blog/661/2021/174f74a46a.png] iscjklanguage:%!s(bool=false) lastmod:2021-02-04 00:38:54 -0700 -0700 layout:post microblog:%!s(bool=false) photos:<nil> photos_with_metadata:<nil> post_id:%!s(int=1260088) publishdate:2021-02-04 00:38:54 -0700 -0700 title:Swift Slowly: Day 38 - Hacking with Swift 24 type:post url:/2021/02/03/swift-slowly-day.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc002637680), (*hugolib.pageOutput)(0xc0026377a0), (*hugolib.pageOutput)(0xc0026378c0), (*hugolib.pageOutput)(0xc0026379e0), (*hugolib.pageOutput)(0xc002637b00), (*hugolib.pageOutput)(0xc002637c20), (*hugolib.pageOutput)(0xc002637d40), (*hugolib.pageOutput)(0xc002637e60)}, pageOutput:(*hugolib.pageOutput)(0xc002637680), pageCommon:(*hugolib.pageCommon)(0xc001435400)}
Today’s activity is research.
I’m a little nervous about what is coming next because this was the first time that I saw the syntax for templates and custom containers.
I’m going to have to read it again before I go to bed and hope that it makes more sense in the morning.
Categories:
SwiftSlowly
Published:
February 2, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/02/02/swift-slowly-day.html"
Params
map[categories:[SwiftSlowly] date:2021-02-02 21:01:44 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/02/02/swift-slowly-day.html iscjklanguage:%!s(bool=false) lastmod:2021-02-02 21:01:44 -0700 -0700 layout:post microblog:%!s(bool=false) post_id:%!s(int=1259555) publishdate:2021-02-02 21:01:44 -0700 -0700 title:Swift Slowly: Day 38 - Hacking Swift 23 type:post url:/2021/02/02/swift-slowly-day.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc00262d200), (*hugolib.pageOutput)(0xc00262d320), (*hugolib.pageOutput)(0xc00262d440), (*hugolib.pageOutput)(0xc00262d560), (*hugolib.pageOutput)(0xc00262d680), (*hugolib.pageOutput)(0xc00262d7a0), (*hugolib.pageOutput)(0xc00262d8c0), (*hugolib.pageOutput)(0xc00262d9e0)}, pageOutput:(*hugolib.pageOutput)(0xc00262d200), pageCommon:(*hugolib.pageCommon)(0xc001434000)}
Today, I was reading reddit like I normally do and I came across a quote on the GetMotivated forum.
Slow success builds character.
Fast success builds ego.
I think it fits with what I’m doing with Hacking with Swift program.
Categories:
SwiftSlowly
Published:
February 1, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/02/01/swift-slowly-day.html"
Params
map[categories:[SwiftSlowly] date:2021-02-01 08:52:20 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/02/01/swift-slowly-day.html images:[https://preview.redd.it/6x4067vrnte61.png?width=665&auto=webp&s=9e88547376b8428412225c88d00fdefc9f0c780e] iscjklanguage:%!s(bool=false) lastmod:2021-02-01 08:52:20 -0700 -0700 layout:post microblog:%!s(bool=false) photos:<nil> photos_with_metadata:<nil> post_id:%!s(int=1258858) publishdate:2021-02-01 08:52:20 -0700 -0700 title:Swift Slowly: Day 37 - Hacking Swift 22 type:post url:/2021/02/01/swift-slowly-day.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc00261ed80), (*hugolib.pageOutput)(0xc00261eea0), (*hugolib.pageOutput)(0xc00261efc0), (*hugolib.pageOutput)(0xc00261f0e0), (*hugolib.pageOutput)(0xc00261f200), (*hugolib.pageOutput)(0xc00261f320), (*hugolib.pageOutput)(0xc00261f440), (*hugolib.pageOutput)(0xc00261f560)}, pageOutput:(*hugolib.pageOutput)(0xc00261ed80), pageCommon:(*hugolib.pageCommon)(0xc001410a00)}
Project 2, Part 2 almost sounds like a title for an action parody, but it’s the title for today’s work. I think the following really captures what I’m feeling:
Oprah Winfrey once said, “do what you have to do until you can do what you want to do.” By the end of this 100 days course I hope you’ll be able to do exactly what you want, but in the meantime stick with it – you’re learning key skills here!
To be honest, the first app does looks very basic in the middle of the project and I feel like I’m fighting my own ego in the fact that my application isn’t on the same level that you’d see in the app store. Then I have to take a step back.
I’m just learning!
Of course my app isn’t going to look that great!
If this is what I can do in a few weeks with only a couple hours every day, then the things I’ll be able to do after 100 days will be better. The things after a year will be better still.
It’s all part of growing and I that’s why I’m here.
In the end, I think I made a pretty good starter.
Categories:
SwiftSlowly
Published:
January 31, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/01/31/swift-slowly-day.html"
Params
map[categories:[SwiftSlowly] date:2021-01-31 11:50:01 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/01/31/swift-slowly-day.html images:[https://cdn.uploads.micro.blog/661/2021/ef9b535fcd.png] iscjklanguage:%!s(bool=false) lastmod:2021-01-31 11:50:01 -0700 -0700 layout:post microblog:%!s(bool=false) photos:<nil> photos_with_metadata:<nil> post_id:%!s(int=1258520) publishdate:2021-01-31 11:50:01 -0700 -0700 title:Swift Slowly: Day 36 - Hacking Swift 21 type:post url:/2021/01/31/swift-slowly-day.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc002619b00), (*hugolib.pageOutput)(0xc002619c20), (*hugolib.pageOutput)(0xc002619d40), (*hugolib.pageOutput)(0xc002619e60), (*hugolib.pageOutput)(0xc00261e000), (*hugolib.pageOutput)(0xc00261e120), (*hugolib.pageOutput)(0xc00261e240), (*hugolib.pageOutput)(0xc00261e360)}, pageOutput:(*hugolib.pageOutput)(0xc002619b00), pageCommon:(*hugolib.pageCommon)(0xc001410000)}
I’m fresh off the high of creating my first application and I SO want to charge ahead. I keep thinking “It’s a marathon, it’s a marathon, it’s a marathon.”
Today’s activity is pretty fun in that it allows me to experiment with colors. I spent some time just messing around with how to expand my application.
Categories:
SwiftSlowly
Published:
January 30, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/01/30/swift-slowly-day.html"
Params
map[categories:[SwiftSlowly] date:2021-01-30 10:59:21 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/01/30/swift-slowly-day.html iscjklanguage:%!s(bool=false) lastmod:2021-01-30 10:59:21 -0700 -0700 layout:post microblog:%!s(bool=false) post_id:%!s(int=1258193) publishdate:2021-01-30 10:59:21 -0700 -0700 title:Swift Slowly: Day 35 - Hacking Swift 20 type:post url:/2021/01/30/swift-slowly-day.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc002618000), (*hugolib.pageOutput)(0xc002618120), (*hugolib.pageOutput)(0xc002618240), (*hugolib.pageOutput)(0xc002618360), (*hugolib.pageOutput)(0xc002618480), (*hugolib.pageOutput)(0xc0026185a0), (*hugolib.pageOutput)(0xc0026186c0), (*hugolib.pageOutput)(0xc0026187e0)}, pageOutput:(*hugolib.pageOutput)(0xc002618000), pageCommon:(*hugolib.pageCommon)(0xc0013e8f00)}
Today is challenge day!
I’ve been looking at the page for about 20 minutes. Then surfed the internet for another 20.
I’m procrastinating.
I’m intimidated because I’ve been playing with Swift for a while but this is the fist time that I said “Hey, I’m going to make an app”.
It’s always been accompanied by some tutorial instructions.
Well, let’s start!
The first thing I did was use Xcode to check in the initial tutorial code changes.
Xcode uses a lot of space for the check in.
Then I realized that it’s a completely new app so the checkin wasn’t really needed.
After that, I was using the preview in order to work on smaller segments of the program. Although, I think this part was kind of disconcerting because the preview would stop anytime that put a piece of code that had an error and wouldn’t start up again automatically.
I’m sure that I’ll remember the keyboard short soon.
I also got a chance to mess around with the refactoring tools in Xcode.
I reminds me of this quote from Phil Karlton, There are only two hard things in computer programming: cache invalidation and naming things.
In the end, I got the application running!
Categories:
SwiftSlowly
Published:
January 29, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/01/29/swift-slowly-day.html"
Params
map[categories:[SwiftSlowly] date:2021-01-29 23:00:45 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/01/29/swift-slowly-day.html images:[https://cdn.uploads.micro.blog/661/2021/e26b325f49.png https://cdn.uploads.micro.blog/661/2021/35534b2331.png https://cdn.uploads.micro.blog/661/2021/210a048336.png https://cdn.uploads.micro.blog/661/2021/c67568913a.png] iscjklanguage:%!s(bool=false) lastmod:2021-01-29 23:00:45 -0700 -0700 layout:post microblog:%!s(bool=false) photos:<nil> photos_with_metadata:<nil> post_id:%!s(int=1257990) publishdate:2021-01-29 23:00:45 -0700 -0700 title:Swift Slowly: Day 34 - Hacking Swift 19 type:post url:/2021/01/29/swift-slowly-day.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc00260b680), (*hugolib.pageOutput)(0xc00260b7a0), (*hugolib.pageOutput)(0xc00260b8c0), (*hugolib.pageOutput)(0xc00260b9e0), (*hugolib.pageOutput)(0xc00260bb00), (*hugolib.pageOutput)(0xc00260bc20), (*hugolib.pageOutput)(0xc00260bd40), (*hugolib.pageOutput)(0xc00260be60)}, pageOutput:(*hugolib.pageOutput)(0xc00260b680), pageCommon:(*hugolib.pageCommon)(0xc0013e8a00)}
Power was out for two days and the this was one of the first things that I did ! It felt great to get back into the swing of things. I also took the quiz that is associated with the application and scored 12 out of 12!
Tomorrow is Challenge day for this project, so I’m going to use the time that I have tonight to go over some of the previous days and to check out Paul Hudson’s video on 5 Steps to Better SwiftUI Views .
Categories:
SwiftSlowly
Published:
January 28, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/01/28/swift-slowly-day.html"
Params
map[categories:[SwiftSlowly] date:2021-01-28 18:25:09 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/01/28/swift-slowly-day.html iscjklanguage:%!s(bool=false) lastmod:2021-01-28 18:25:09 -0700 -0700 layout:post microblog:%!s(bool=false) post_id:%!s(int=1257443) publishdate:2021-01-28 18:25:09 -0700 -0700 title:Swift Slowly: Day 32 & 33 - Hacking Swift 17 & 18 type:post url:/2021/01/28/swift-slowly-day.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc00260a480), (*hugolib.pageOutput)(0xc00260a5a0), (*hugolib.pageOutput)(0xc00260a6c0), (*hugolib.pageOutput)(0xc00260a7e0), (*hugolib.pageOutput)(0xc00260a900), (*hugolib.pageOutput)(0xc00260aa20), (*hugolib.pageOutput)(0xc00260ab40), (*hugolib.pageOutput)(0xc00260ac60)}, pageOutput:(*hugolib.pageOutput)(0xc00260a480), pageCommon:(*hugolib.pageCommon)(0xc0013e8000)}
Day 16! Starting the first project after a long day of work. Part of me wants to just veg, but I’ve wanted this too long!
100 Days of SwiftUI – Day 16 – Hacking with Swift :
Today is the project overview day, which is where we’ll be looking at the isolated pieces of code that you need to understand in order to build our project. Tomorrow we’ll move on to the implementation day, where you’ll put those new techniques into practice with our app.
My mind was kind of blown when I saw the line following line:
The tutorial says that it’s a computed property and I never thought twice about it or what it really meant until this point. I felt that way throughout the entire day when working with this tutorial.
I almost didn’t stop, but I know that it’s a marathon and not a sprint.
Categories:
SwiftSlowly
Published:
January 26, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/01/26/swift-slowly-day.html"
Params
map[categories:[SwiftSlowly] date:2021-01-26 17:49:51 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/01/26/swift-slowly-day.html images:[https://cdn.uploads.micro.blog/661/2021/5862ea09c9.png] iscjklanguage:%!s(bool=false) lastmod:2021-01-26 17:49:51 -0700 -0700 layout:post microblog:%!s(bool=false) photos:<nil> photos_with_metadata:<nil> post_id:%!s(int=1256230) publishdate:2021-01-26 17:49:51 -0700 -0700 title:Swift Slowly: Day 31 - Hacking Swift 16 type:post url:/2021/01/26/swift-slowly-day.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc002600900), (*hugolib.pageOutput)(0xc002600a20), (*hugolib.pageOutput)(0xc002600b40), (*hugolib.pageOutput)(0xc002600c60), (*hugolib.pageOutput)(0xc002600d80), (*hugolib.pageOutput)(0xc002600ea0), (*hugolib.pageOutput)(0xc002600fc0), (*hugolib.pageOutput)(0xc0026010e0)}, pageOutput:(*hugolib.pageOutput)(0xc002600900), pageCommon:(*hugolib.pageCommon)(0xc0013d0f00)}
I’m posting this for hacking with swift 14 & 15.
Tomorrow, I start the first project and I’m very excited!
Wish me luck!
Categories:
SwiftSlowly
Published:
January 25, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/01/25/swift-slowly-day.html"
Params
map[categories:[SwiftSlowly] date:2021-01-25 18:30:16 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/01/25/swift-slowly-day.html iscjklanguage:%!s(bool=false) lastmod:2021-01-25 18:30:16 -0700 -0700 layout:post microblog:%!s(bool=false) post_id:%!s(int=1255444) publishdate:2021-01-25 18:30:16 -0700 -0700 title:Swift Slowly: Day 30 - Hacking Swift 15 type:post url:/2021/01/25/swift-slowly-day.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc002600000), (*hugolib.pageOutput)(0xc002600120), (*hugolib.pageOutput)(0xc002600240), (*hugolib.pageOutput)(0xc002600360), (*hugolib.pageOutput)(0xc002600480), (*hugolib.pageOutput)(0xc0026005a0), (*hugolib.pageOutput)(0xc0026006c0), (*hugolib.pageOutput)(0xc0026007e0)}, pageOutput:(*hugolib.pageOutput)(0xc002600000), pageCommon:(*hugolib.pageCommon)(0xc0013d0a00)}
Review day!!
I’m using this time to go over the basic types again.
Categories:
SwiftSlowly
Published:
January 23, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/01/23/swift-slowly-day.html"
Params
map[categories:[SwiftSlowly] date:2021-01-23 20:16:55 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/01/23/swift-slowly-day.html iscjklanguage:%!s(bool=false) lastmod:2021-01-23 20:16:55 -0700 -0700 layout:post microblog:%!s(bool=false) post_id:%!s(int=1254708) publishdate:2021-01-23 20:16:55 -0700 -0700 title:Swift Slowly: Day 29 - Hacking Swift 13 type:post url:/2021/01/23/swift-slowly-day.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc0025f9680), (*hugolib.pageOutput)(0xc0025f97a0), (*hugolib.pageOutput)(0xc0025f98c0), (*hugolib.pageOutput)(0xc0025f99e0), (*hugolib.pageOutput)(0xc0025f9b00), (*hugolib.pageOutput)(0xc0025f9c20), (*hugolib.pageOutput)(0xc0025f9d40), (*hugolib.pageOutput)(0xc0025f9e60)}, pageOutput:(*hugolib.pageOutput)(0xc0025f9680), pageCommon:(*hugolib.pageCommon)(0xc0013d0500)}
The neighbors were up arguing from 3-5 in the morning and it woke the whole family up. I’m having trouble focusing, but I wanted to get started with learning about optionals today.
This is the last section of 100 days of SwifUI that contains quizzes so I’m pretty excited about what happens after this.
I want to praise CodeRunner again for its excellent tool tips when code is incorrect.
Xcode also does a good job of keeping it compact and then letting you expand the dialog and allowing you to fix it by clicking one of the buttons.
Categories:
SwiftSlowly
Published:
January 22, 2021
Debug
Site Properties
&hugolib.SiteInfo{Authors:page.AuthorList(nil), Social:hugolib.SiteSocial(nil), hugoInfo:hugo.Info{CommitHash:"1798bd3f", BuildDate:"2021-12-23T15:33:34Z", Environment:"production"}, title:"Mandaris", RSSLink:"https://mandarismoore.com/feed.xml", Author:map[string]interface {}{"avatar":"https://micro.blog/mandaris/avatar.jpg", "name":"Mandaris Moore", "username":"mandaris"}, LanguageCode:"en", Copyright:"", permalinks:map[string]string{}, LanguagePrefix:"", Languages:langs.Languages{(*langs.Language)(0xc00036edd0)}, BuildDrafts:false, canonifyURLs:false, relativeURLs:false, uglyURLs:(func(page.Page) bool)(0x163ea20), owner:(*hugolib.HugoSites)(0xc00043d6b0), s:(*hugolib.Site)(0xc000113b00), language:(*langs.Language)(0xc00036edd0), defaultContentLanguageInSubdir:false, sectionPagesMenu:""}
site.Params Properties
maps.Params{"description":"Follow <a href=\"https://micro.blog/mandaris\">@mandaris on Micro.blog</a>.", "feeds":maps.Params{"bookmarks_json":"https://micro.blog/feeds/mandaris/bookmarks/08117195b525afe4a55f.json"}, "github_username":"mandaris", "include_conversation":true, "instagram_username":"mandaris", "itunes_author":"Mandaris", "itunes_category":"Society & Culture", "itunes_cover":"https://micro.blog/mandaris/podcast.png", "itunes_description":"A High-quality stranger. I've considered myself a digital gofer. Y'know, go for this and go for that. I'm using micro.blog now to par down my technical projects and be part of an outstanding community. Apple Game Center: MrMandaris Email: Infor@MandarisMoore.com", "itunes_email":"podcast@mandarismoore.com", "itunes_subcategory":"Personal Journals", "mainSections":[]string{"replies"}, "mainsections":[]string{"replies"}, "paginate_categories":true, "paginate_home":true, "paginate_replies":true, "plugins_css":[]interface {}{}, "plugins_html":[]interface {}{}, "plugins_js":[]interface {}{}, "site_id":"661", "theme_seconds":"1685484083", "transcripts_audio_link":true, "transcripts_enable":true, "twitter_username":"mandaris"}
Permalink
"https://mandarismoore.com/2021/01/22/swift-slowly-day.html"
Params
map[categories:[SwiftSlowly] date:2021-01-22 22:56:00 -0700 -0700 draft:%!s(bool=false) guid:http://mandaris.micro.blog/2021/01/22/swift-slowly-day.html images:[https://cdn.uploads.micro.blog/661/2021/ccf3c15002.png https://cdn.uploads.micro.blog/661/2021/1660930542.png] iscjklanguage:%!s(bool=false) lastmod:2021-01-22 22:56:00 -0700 -0700 layout:post microblog:%!s(bool=false) photos:<nil> photos_with_metadata:<nil> post_id:%!s(int=1254321) publishdate:2021-01-22 22:56:00 -0700 -0700 title:Swift Slowly: Day 28 - Hacking Swift 12 type:post url:/2021/01/22/swift-slowly-day.html]
All variables scoped to the current context
&hugolib.pageState{pageOutputs:[]*hugolib.pageOutput{(*hugolib.pageOutput)(0xc0025f8d80), (*hugolib.pageOutput)(0xc0025f8ea0), (*hugolib.pageOutput)(0xc0025f8fc0), (*hugolib.pageOutput)(0xc0025f90e0), (*hugolib.pageOutput)(0xc0025f9200), (*hugolib.pageOutput)(0xc0025f9320), (*hugolib.pageOutput)(0xc0025f9440), (*hugolib.pageOutput)(0xc0025f9560)}, pageOutput:(*hugolib.pageOutput)(0xc0025f8d80), pageCommon:(*hugolib.pageCommon)(0xc0013d0000)}