? ? 在寫(xiě)控件之前先來(lái)說(shuō)一下swift中聲明變量時(shí)!和?的區(qū)別;并且swift都屬性基本上都是以點(diǎn)的方式來(lái)表達(dá):
這里在lable變量加了一個(gè)“?”,由于lable是可選變量,所以也可能有值也可能是nil。
使用self.lable!是聲明此時(shí)self.label里面一定有值無(wú)論什么情況下都調(diào)用后面的.text賦值方法。
而使用self.view?是聲明此時(shí)并不確定self.view里是否有值,所以只在view有值時(shí)調(diào)用后面.addSubview方法。
這樣做的目的一是讓代碼更明確, 二是給編譯器提供更多線索,在編譯時(shí)發(fā)現(xiàn)更多潛在錯(cuò)誤。Swift顯然是一門(mén)非常明確,需要開(kāi)發(fā)者先想清楚再編程的語(yǔ)言,秉承了Apple一貫的作風(fēng)
1.UILabel
2.UIButton
點(diǎn)擊事件的實(shí)現(xiàn)(順便寫(xiě)個(gè)UIAlertController控件):
3.UIImageView
4.UISlider
5.UIWebView
6.UISegmentedControl(新添的選擇項(xiàng))
7.UISwitch
8.UITextField
9.UIScrollView
10.UISearchBar
11.UIPageControl
12.UIProgressView
13.UITextView
14.UIActivityIndicatorView
15.UIActionSheet(一般都是點(diǎn)擊后調(diào)用這個(gè)方法)
接下來(lái)說(shuō)一些需要代理來(lái)實(shí)現(xiàn)的控件:
1.先來(lái)看下一個(gè)空的swift 文件構(gòu)造:
這里注意:當(dāng)寫(xiě)上數(shù)據(jù)源的代碼時(shí)比如(UICollectionViewDataSource、UIPickerViewDataSource等時(shí)會(huì)報(bào)錯(cuò))
這時(shí)候只要在下面寫(xiě)上數(shù)據(jù)源方法就行
2.UITableView
3.UIDatePicker
4.UIPickerView
5.UICollectionView
以上就是我Swift控件的學(xué)習(xí)內(nèi)容,下一節(jié)是Swift和OC在一個(gè)項(xiàng)目中如何實(shí)現(xiàn)混編。