WWDC18 Notes - Session 234 - Safari and WebKit
This notes is written by Sheldon after watching WWDC18 session 234. You can find me with #iOSBySheldon in Github, Youtube, Facebook, etc.
This notes is written by Sheldon after watching WWDC18 session 412. You can find me with #iOSBySheldon in Github, Youtube, Facebook, etc.
|When breakpoint auto landed on the assembly page, try to type|
|(lldb) po $arg1|
|(lldb) po [$arg1 name]|
|(lldb) po [$arg1 reason]|
|This may bring extra info, like "xxx is nil"|
|2. Double click break point to set break conditions & additional actions|
|Sometimes due to Mac system error, you are seeing this alert a lot. This alert could be shown repleatedly and annoyingly.|
|| xxx wants to use the "Local Items" keychain. ||
|| Please enter the keychain password. ||
|| Password: ________________________ ||
|We can clean our KeyChain "Local Items" using Terminal to solve this issue.|
|Git - Rebase and Squashing|
|It is pretty often that you notice your feature branch has way too many commits right be fore you merge to the Master branch.|
|If you see your git history of your branch, it might be like:|
|Commit xxxx1 "modified 2 more tests"|
|Commit xxxx2 "updated first test"|
|As Siri became more and more popular, people won't be satisfied to only use Siri in the iOS system level, instead, it will be much better if we can use Siri with apps that are not only from Apple. In WWDC 2016, Apple finally opened SiriKit to the developers. Time flies, it is almost two years past. I do believe in this year's WWDC 2018, Apple will give a big enhancement on the SiriKit. One of the bigger reason might be the release of the HomePod.|
|In this post, I don't want to show you any code, but I do want to explain to you guys what does SiriKit do and the basics of SiriKit.Same as Alex for Amazon and "OK Google", SiriKit uses a technique called Natural Language Processing.|
|If you check the link from WikiPedia, you will be find the following definition:"Natural-language processing (NLP) is an area of computer science and artificial intelligence concerned with the interactions between computers and human (natural) languages, in particular how to program computers to fruitfully process larg|
As you may all know KVO stands for key-value observing. It is a mechanism you can use to do the reactive programming. I have posted a video about how to use KVO + KVC for reactive programming here, please don't hesitate to check it out.
I will give you an good example of using KVO. Suppose you have a downloading progress value coming, Float for example. You have to update your
UIProgressBar with that value. A good way to achieve this might be let your
UIProgressBar observe that Float value and whenever that float value changed, you change your
UIProgressBar.value accordingly. Again, please feel free to check my video tutorial about that as well as the finished project here in Github.
Per Apple's document, "Automatic key-value observing is implemented using a technique called isa-swizzling… When an observer is registered for an attribute of an object the isa pointer of the observed object is modified, pointing to an intermedia
As we all know making an property
weak is a good way to solve retain cycle or strong reference cycle. But do you know what does weak key-word exactly do behind the scene?