看了一些介紹pattern matching的文章靠抑,里面有不少種使用用法沼本〔卵總結(jié)下來(lái)就是兩種類型:綁定和判斷先慷。模式匹配的起手式是case凝垛,這是對(duì)傳...
在開發(fā)插件化播放器時(shí)遇到了一個(gè)插件批量初始化的需求:不同的播放器需要配置不同的插件列表前痘,而每一個(gè)插件的構(gòu)造函數(shù)是不同的锚扎。所以需要一種通用的方式來(lái)...
在日常開發(fā)中我們經(jīng)常會(huì)遇到這樣的場(chǎng)景,有很多模塊的delegate需要通過(guò)一個(gè)公共類來(lái)轉(zhuǎn)發(fā)回調(diào)事件箩朴。比如采用MVP模式開發(fā)一個(gè)復(fù)雜的UI交互岗喉,其...
AVPlayer的API真心不友好,一個(gè)截屏問(wèn)題搞得我花了6個(gè)小時(shí)才徹底解決炸庞。在網(wǎng)上搜索會(huì)找到兩種截屏方案: 使用AVPlayerItemVid...
在網(wǎng)上查了不少文章最后找到如下方法可以在Xcode8下使用 解壓你的ipa包 刪除期內(nèi)的簽名文件: rm -rf Payload/Your-XX...
weakify(self)展開后是: __weak typeof(self) __weak_self = self; strongify(sel...
git diff總是把project.pbxproj認(rèn)作binary文件钱床,查了一些答案都說(shuō)是在.gitattributes文件里面添加:.pbx...
項(xiàng)目中的Podfile使用了內(nèi)嵌繼承這種方式: 然后發(fā)現(xiàn)target-Offline編譯無(wú)問(wèn)題,target-Online編譯在鏈接時(shí)報(bào)找不到x...
在swift中對(duì)類和struct進(jìn)行擴(kuò)展或使用協(xié)議擴(kuò)展(本質(zhì)是mixin)埠居,是非常簡(jiǎn)單且實(shí)用的語(yǔ)法查牌。但是語(yǔ)法糖太好用了就可能亂用并產(chǎn)生混亂(比如...