標籤:
Objective-c學習筆記
1.使用#import匯入標頭檔,一般osx命令列開發使用<Foundation/Foundation.h>,圖形介面開發使用<Cocoa/Cocoa.h>
2.OC中字串不再是數組,而是變成了NSString類型的對象,凡是涉及到字串的都是對象,另外,當靜態字串賦值的時候,應該要使用@做標識,例如@“helloworld”
3.OC中的真假為BOOL類型,同時真為YES假為NO,佔八位,系統依靠最低位來確定,最低位為0為NO,最低位不為零,為YES,所以,比較BOOL的時候,應該和NO比較
4./tmp為系統緩衝目錄,系統重啟的時候被清空
5.id類型是oc的通用指標,該類型可以指向任何對象,但是最好不要濫用
6.oc的介面定義模式如下
@interface
{
@屬性的存取權限
屬性值
}
-(方法的傳回型別)方法名:(參數1的類型)參數名,(參數二的類型)參數名;
@end
7.oc的介面實現如下
@implemention
-(方法的傳回型別)方法名:(參數1的類型)參數名,(參數二的類型)參數名
{
函數實現/方法實現
}
@end
8.OC調用方法使用中括弧,例如 [執行個體指標 方法名:參數1,參數2]
9.在類的實現中,可以直接存取類的執行個體變數,這是因為直接存取的時候OC編譯器隱藏傳遞了一個參數self
10.最簡單的產生新執行個體的方式為[類名 new](後面不推薦使用)
11,OC本身不支援多繼承,但是可以用委託機制來實現多繼承
12.在子類中想要調用父類的方法可以使用super關鍵字,例如 [super init]
13.定義介面的時候可以指明繼承的父類,例子如下
@interface 介面名:父類名
@end
14.使用NSLog可以輸出,類似於printf
15.NSLog可以列印對象,適應%@參數即可,這樣系統會自動調用該對象的description方法
16.屬性的存取方法,存方法使用set+屬性名稱 取方法直接使用屬性名稱,假設屬性為xxx,則為
-(void)setxxx:(id)xxx -(id)xxx;
17.oc使用.m格式的源檔案和.h格式的標頭檔,通常申明放在.h檔案,實現放在.m檔案
[email protected] 類名 該關鍵字一般表示匯入類,在.h檔案中使用的比較多,不想包含標頭檔的時 候使用該關鍵字
19.範圍結構體 NSRange ,表示數位起點和大小,參數均為無符號整形,賦值有函數NSMakeRange()函數
20.座標結構體CGPoint,參數均為浮點型,表示座標,CGPointMake快速賦值
圖形結構體CGSize 參數為浮點型,CGSizeMake快速賦值
矩形結構體CGRect 含有兩個結構體類型的參數,快速賦值為CGRectMake
21.字串類NSString的方法
stringWithFormat 建立新字串
length 擷取字串個數
isEqualToString 字串比較
compare 字串比較
NSCompareResult 比較結構枚舉,取值包括NSOrderAscending 等三個
hasPrefix 檢測字串是否以指定字串開頭
hasSuffix 檢測字串是否以指定字串結尾
rangeOfString 檢測字串中是否還有指定字串 沒有返回的NSRange中location為NSNotFound
22.NSString是運行時不可變的,如果需要運行時可變的字串需要NSMuteableString
stringWithCapacity 指定初始化容量
appendString 附加子串
appendFormat 附加格式化字串
deleteCharactersInRange 刪除字串中指定位置的字元
因為NSMuteableString是NSString的子類,所以NSString的函數NSMuteableString 都能用
22.NSArray
NSArray中可以放入任意類型的對象,但是不能存放原生資料類型
arrayWithObjects 初始化,指定未經處理資料列表
count 獲得元素個數
objectAtIndex 擷取特定位置的元素
componentsJoinedByString 使用特定字串連結所有元素成為一個新的字串返回
22,可變數組NSMutableArray
arrayWithCapacity 指定初始化容量
addObject 在末尾添加對象
removeObjectAtIndex 移除指定位置的元素
objectEnumerator 擷取數組對象的列舉程式
23.枚舉,使用列舉程式
while(id thing = [enum nextobject])
{
//dosomething
}
24.快速枚舉
10.5之後的新特性,while(NSString* str in array){//dosomething}
25.NSDictionary字典
dictionaryWithObjectsAndKeys 建立索引值對,初始化對象
objectForKey 通過鍵擷取對象
26.可變字典NSMutableDictionary
dictionaryWithCapacity 初始化可變字典,指定容量
setObject forkey 添加索引值對
removeObjectForKey 刪除索引值對
27.對於NSString和NSArray,不要繼承,最好使用複合
28.NSNumber數值類
用於將原生資料類型裝箱
numberWithChar numberWithInt numberWithFloat numberWithBool 裝箱
charValue intValue floatValue boolValue stringValue 拆箱
29.NSNumber其實是NSValue的子類,NSValue可以封裝任何值,
valueWithBytes 指定資料長度和資料類型就能裝箱
getValue 用於提取數值
30.NSNull
nil的裝箱資料結構,只有一個方法null
31.oc的方法分為兩種,分別是執行個體方法和類方法,使用-定義的是執行個體方法 使用+定義的方法是類方法,類方法在沒有執行個體的時候可以直接通過類名調用,如init方法,如下
類方法 +void init:(int)a,(int)b;
執行個體方法 -void init:(int)a,(int)b;
objective-c學習筆記