開發(fā)步驟
- 搭建基本的軟件界面
- UI (User Interface)
- 獲取網(wǎng)絡(luò)數(shù)據(jù)
- 網(wǎng)絡(luò)請求,JSON
- 顯示數(shù)據(jù)到軟件界面
- Model、UITableView
UI界面的組成- 對象(文本對象、圖片對象、按鈕對象)
要有對象要先有類,蘋果已經(jīng)給了相應(yīng)的類
把蘋果提供的類來進行創(chuàng)建對象,設(shè)置對象屬性后,再把對象添加到軟件界面上,給用戶看即可。
UIKit框架
- 蘋果給開發(fā)者提供了一個非常強大的UIKit框架
- UIKit框架中包含了豐富多彩的各種UI元素
首先UIKit框架非常重要,必須要學(xué)好。
要想做一個完整的iOS應(yīng)用,還有別的框架要學(xué)習(xí)和使用,僅僅界面是不夠的。日后,自己也能寫框架。
tips:
- 模擬器無法正常運行,可能原因是模擬器版本低于代碼版本。
- UI上每一個元素都是對象。
- 項目先進行分析后,再進行編碼。
- 控制器是UI界面的大管家,管理UI界面元素的各種事件。
控制器-繼承自自UIViewController
- UI界面的大管家 管理UI元素的各種事件、點擊事件
每一個界面由一個控制器來管理
tips:
為了高度封裝性所以要把屬性和方法全放入.m文件中
- 分類:可以為某個類增加額外的方法
@interface ViewController(HighClass)
- (void)run;
@end
@implementation ViewController(HighClass)
- (void)run{ }
@end
- 類擴展:可以為某個類增加額外的屬性和方法,可以放在.m或者.h文件中
作用:存放類的私有屬性,減少耦合性,在.m文件中別人訪問不了
@interface ViewController()
/*屬性和方法的聲明*/
@property (strong, nonatomic) IBOutlet UILabel *label;
- (void)run;
@end
storyboard文件的認(rèn)識
- 用來描述軟件界面
- 默認(rèn)情況下,程序一啟動就會加載Main.storyboard
- 加載storyboard時,會首先創(chuàng)建和顯示箭頭所指的控制器界面
IBAction和IBOutlet
- IBAction
- 本質(zhì)就是void
- 能讓方法具備連線的功能
- IBOutlet
- 能讓屬性具備連線的功能
storyboard連線容易出現(xiàn)的問題
- 被連接的方法代碼被刪掉,但是連線沒有去掉
- 可能會出現(xiàn)方法找不到的錯誤
- unrecognized selector sent to instance
- 被連接的屬性代碼被刪掉,但是連線沒有去掉
- this class is not key value coding-compliant for the key
UIViewController的認(rèn)識
- 一個控制器負(fù)責(zé)管理一個界面
- 控制器負(fù)責(zé)界面的創(chuàng)建和事件處理