一個(gè)多月兩個(gè)APP坐求,還是用自己不熟悉的swift語(yǔ)言潮瓶,精神極度的緊張陶冷,還好終于算是搞完了。好久沒(méi)過(guò)來(lái)分享東西了毯辅,快來(lái)騷擾我埂伦。??
今天我不是想談?wù)摻?jīng)驗(yàn)或者技術(shù),而是在項(xiàng)目中遇到的問(wèn)題思恐,希望大家給出指導(dǎo)性的意見(jiàn)沾谜。
- 代理
在OC中無(wú)非就是協(xié)議,設(shè)置代理胀莹,遵循協(xié)議基跑;我很聰明的將OC代碼翻譯成了swift語(yǔ)言,但是在我閱讀別人代碼的時(shí)候發(fā)現(xiàn)實(shí)現(xiàn)代理方法的部分是使用擴(kuò)展類(lèi)來(lái)做的
extension ImageCarouselView: UIScrollViewDelegate {
public func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
if isAutoScroll {
autoScrollTimer?.invalidate()
}
}
public func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
if isAutoScroll {
self.setupTimer()
}
}
public func scrollViewDidScroll(_ scrollView: UIScrollView) {
let offsetIndex: Int = Int(collectionView.contentOffset.x / layout.itemSize.width)
let currentIndex = Int(Double(offsetIndex % imageArray.count) + 0.5)
pageControl.currentPage = currentIndex == imageArray.count ? 0 :currentIndex
}
}
我發(fā)現(xiàn)不僅僅是代理這塊描焰,有挺多部分都會(huì)使用extension媳否,請(qǐng)問(wèn)各位,在swift中哪些情況用extension寫(xiě)比較好的呢荆秦?
- 關(guān)鍵字
接觸swift比較匆忙篱竭,發(fā)現(xiàn)竟然有許多是我不理解的。
- fileprivate與private的區(qū)別
- guard什么情況下使用
- button添加點(diǎn)擊事件為什么會(huì)有的需要在方法名前添加@obj說(shuō)是#selector()是oc的方法
- 還有什么步绸,竟然忘記了掺逼,下次見(jiàn)到再補(bǔ)充
- 隱藏tabbar
在swift中隱藏tabbar不像OC那樣簡(jiǎn)單,會(huì)稍顯復(fù)雜瓤介。當(dāng)你push過(guò)去隱藏返回過(guò)來(lái)tabbar也會(huì)消失
也就是說(shuō)在每次push前
viewController.hidesBottomBarWhenPushed = true
push后
viewController.hidesBottomBarWhenPushed = false
- 安全性
在swift中坪圾,安全性是比較好的晓折,不同的東西是不能往一塊兒放的
let sum = 1 + 1.0 // 會(huì)報(bào)錯(cuò),Int不能和double一起操作
var temp = 10.0
temp = "zhu" // 報(bào)錯(cuò)