標籤:
1.
瞭解main函數, UIApplication是初始化程式的核心,它接受4個參數。 其中argc和argv兩個參數來自於main()接受的兩個參數;另外兩個String型參數分別表示程式的主要類(principal class)和代理類(delegate class)
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
2、
plist xml格式檔案通常用於儲存使用者佈建
pch 先行編譯檔案頭
xib nterface Builder 的圖形介面設計文檔
StoryBoard是iOS 5的新特徵,旨在代替曆史悠久的NIB/XIB
3、
AppDelegate.m 妙用 類似於監聽介面
應用程式啟動後,委託調用applicationDidFinishLaunching方法
應用程式要完全退出, 委託調用applicationWillTerminate方法
4、
viewcontroller
建立viewcontroller時,執行loadview -> viewDidLoad
記憶體警告,後台,會執行didReceiveMemoryWarning -> viewDidUnLoad;如果viewcontroller當前正在顯示(前台)didReceiveMemoryWarning
5、
IBOutlet 對編譯器而言只是一個標記,額外retain一次,所以需要release.
IBoutlet修飾的欄位可以和InterfaceBuilder裡相應控制項相關聯;
IBaction修飾的方法可以和InterfaceBuilder裡控制項的相應動作相關聯。
6、addSubview 是將view加到所有層的最頂層
7、insertSubView可以控制它添加到父視圖的哪一層
makeKeyAndVisible作用被使用對象的主視窗顯示到螢幕的最前端。
hiddenUIView方法隱藏這個視窗
8、
@protocol MyProtocol <NSObject>
-(void) firstMethod
@end 協議,OC 沒有多繼承,不過可以通過協議來委託或者叫代理
9、
@property (nonatomic, retain) Engine* engine; 代碼產生機制 ,產生不同類型的getter/setter函數,介面類使用
@synthesize engine, 合成器,實作類別裡面使用,兩者缺一不可
10、
initWithFrame 沒用Nib檔案(XIB)時,用代碼控制視圖內容,需要調用initWithFrame去初始化
視圖載入nib檔案,從nib中載入對象執行個體時, 使用 initWithCoder初始化這些執行個體對象
11、
respondsToSelector該方法詢問對象以確定其是否能夠響應某個特定的訊息
if([car respondsToSelector @selector(setWheel)] == YES])
{
}
12、
viewDidLoad:在視圖載入後被調用
viewWillAppear:視圖即將可見時調用。預設情況下不執行任何操作
viewDidAppear: 視圖已完全過渡到螢幕上時調用
viewWillDisappear:視圖被駁回時調用,覆蓋或以其他方式隱藏。預設情況下不執行任何操作
viewDidDisappear:視圖被駁回後調用,覆蓋或以其他方式隱藏。預設情況下不執行任何操作
13、
initWithFrame 沒用Nib檔案(XIB)時,用代碼控制視圖內容,需要調用initWithFrame去初始化
視圖載入nib檔案,從nib中載入對象執行個體時, 使用 initWithCoder初始化這些執行個體對象
14、
respondsToSelector該方法詢問對象以確定其是否能夠響應某個特定的訊息
[car respondsToSelector @selector(setWheel)] == YES]
15、
viewDidLoad:在視圖載入後被調用
viewWillAppear:視圖即將可見時調用。預設情況下不執行任何操作
viewDidAppear: 視圖已完全過渡到螢幕上時調用
viewWillDisappear:視圖被駁回時調用,覆蓋或以其他方式隱藏。預設情況下不執行任何操作
viewDidDisappear:視圖被駁回後調用,覆蓋或以其他方式隱藏。預設情況下不執行任何操作
16、
loadNibNamed 動態載入視圖
NSArray *nibViews=[[NSBundle mainBundle] loadNibNamed:@"Empty" owner:self options:nil];
17、
1)componentsSeparatedByString:截取指定字串;
2) pathForResource:擷取程式運行時目錄
3) objectAtIndex:擷取當前索引的字串;
4) rangeOfString:擷取指定短字串在長字串中的開始,結尾索引值;
5) stringWithContentsOfFile:按行讀取檔案
6) componentsSeparatedByString:@"
"];換行分割字串;
7) NSEnumerator *nse = [lines objectEnumerator]; 將數群組轉換為NSEnumerator,可向前讀取資料;
nextObject 讀取下一行資料
18、
-(BOOL) isKindOfClass: classObj判斷是否是這個類或者這個類的子類的執行個體
-(BOOL) isMemberOfClass: classObj 判斷是否是這個類的執行個體
19、
建立一個UIImageView對象有五種方法
UIImageView *imageView1 = [[UIImageViewalloc] init];
UIImageView *imageView2 = [[UIImageViewalloc] initWithFrame:(CGRect)];
UIImageView *imageView3 = [[UIImageView alloc] initWithImage:(UIImage *)];
UIImageView *imageView4 = [[UIImageView alloc] initWithImage:(UIImage *) highlightedImage:(UIImage *)];
UIImageView *imageView5 = [[UIImageView alloc] initWithCoder:(NSCoder *)];
常用的是前邊三個。
20、
UIScreen可以擷取裝置螢幕的大小
UIView對象定義了一個螢幕上的一個矩形地區,同時處理該地區的繪製和觸屏事件,一個UIView的執行個體可以包含和管理若干個子UIView
UIWindow對象是所有UIView的根,管理和協調的應用程式
UIViewController對象負責管理所有UIView的階層,並響應裝置的方向變化
21、
@class 當一個類需要引用另一個類
demo.h @class Rectangle;
demo.m import Rectangle
22、
UISwitch開關、
UIButton按鈕、
UISegmentedControl分段控制項、
UISlider滑塊、
UITextField文字欄位控制項、
UIPageControl分頁控制項
23、
UIControlEventTouchDown
單點觸摸按下事件:使用者點觸螢幕,或者又有新手指落下的時候。
UIControlEventTouchDownRepeat
多點觸摸按下事件,點觸計數大於1:使用者按下第二、三、或第四根手指的時候。
UIControlEventTouchDragInside
當一次觸摸在控制項視窗內拖動時。
UIControlEventTouchDragOutside
當一次觸摸在控制項視窗之外拖動時。
UIControlEventTouchDragEnter
當一次觸摸從控制項視窗之外拖動到內部時。
UIControlEventTouchDragExit
當一次觸摸從控制項視窗內部拖動到外部時。
UIControlEventToucUpInside
所有在控制項之內觸摸抬起事件。
UIControlEventTouchUpOutside
所有在控制項之外觸摸抬起事件(點觸必須開始與控制項內部才會發送通知)。
UIControlEventTouchCancel
所有觸摸取消事件,即一次觸摸因為放上了太多手指而被取消,或者被上鎖或者電話da‘duaUIControlEventTouchChanged
當控制項的值發生改變時,發送通知。用於滑塊、分段控制項、以及其他取值的控制項。你可以配置滑塊控制項何時發送通知,在滑塊被放下時發送,或者在被拖動時發送。
UIControlEventEditingDidBegin
當文本控制項中開始編輯時發送通知。
UIControlEventEditingDidEnd
當文本控制項中編輯結束時發送通知。
UIControlEventEditingChanged
當文本控制項中的文本被改變時發送通知。
UIControlEventEditingDidOnExit
當文本控制項內通過按下斷行符號鍵(或等價行為)結束編輯時,發送通知。
UIControlEventAlltouchEvents
通知所有觸摸事件。
UIControlEventAllEditingEvents
通知所有關於文本編輯的事件
UIControlEventAllEvents
通知所有事件。
24、
SUserDefaults用於儲存資料量小的資料,例如使用者配置。並不是所有的東西都能往裡放的,只支援:NSString,NSNumber, NSDate, NSArray, NSDictionary.
25、
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[defaults objectForKey:key]; 提取
[defaults setObject:item forKey:key]; 設定
[defaults removeObjectForKey:key]; 移除
26、
resignFirstResponder 觸發鍵盤隱藏
27、
UITabBarController通常作為整個程式的rootViewController ,常見的建立地方就是在application delegate中的 applicationDidFinishLaunching:方法
破殼(1)