日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Objective-C 语法

發布時間:2023/11/30 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Objective-C 语法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

吧Category使用場景:

-類包含了很多個方法的實現,而這些方法需要不同的團隊成員來實現。

-當你在使用基礎類庫中的類時,不想集成這些類,只想添加一些方法時。

-Category能訪問原始類的實例變量,但是不能添加實例變量,如果想添加實例變量,那么就要通過創建繼承子類來實現。

-Category實現文件中的實例方法,只要你不去調用它,它就不需要實現所有聲明中的所有方法。

block :

代碼塊存儲的數據是一個函數體 ,"^"脫字符,是代碼塊的語法標記,

代碼塊中使用局部變量,必須要在局部變量中添加關鍵字_block;

KVO:基于鍵值的觀察者,主要用于視圖交互方面,比如界面的某些數據發生變化了,界面也要跟著變化,KVO實現兩個對象的直接同步(model,view)。只有通過鍵值編碼改變的值(KVO),才會調用觀察者注冊的方法。

NSDictionary:不可變的詞典

[NSDictionary dictionaryWithObjectsAndKeys:..] : 使用鍵值對直接創建詞典對象,結尾必需使用nil標志結束。

example: NSMutableDictionary?*dictionary?=?[NSMutableDictionary?dictionaryWithObjectsAndKeys:@"",@"",nil];?

[dictionary count]: 得到詞典的鍵值對數量。
[dictionary keyEnumerator]: 將詞典的所有key儲存在NSEnumerator中.

example:

NSEnumerator?*enumeratorKey?=?[dictionary?keyEnumerator];

for?(NSObject?*object?in?enumeratorObject)?{ ?

NSLog(@"value:%@",?object); ?

}


[dictionary objectEnumerator]: 將詞典的所有value儲存在NSEnumerator中
[dictionary objectForKey:key]: 通過傳入key對象可以拿到當前key對應儲存的值

NSMutableDictionary:可變詞典。

NSMutableDictionary 是NSDictionay的子類,所以繼承了NSDictionay的方法。

[dictionary setObject: forKey:] :向可變的詞典動態的添加數據 。

[dictionary removeAllObjects..] : 刪除掉詞典中的所有數據。

[dictionary removeObjectForKey..] :刪除掉詞典中指定key的數據。

NSArray:不可變的數組

[array count] : 數組的長度

[array objectAtIndex 0]: 傳入數組腳標的id 得到數據對象。

NSArray?*array?=?[NSArray?arrayWithObjects:@"",@"",nil]; 創建數組對象并初始化賦值。

NSMutaleArray:可變的對象數組

[NSMutableArray arrayWithCapacity:3] :初始化可變數組對象的長度。

[array addObject:] : 向可變數組尾部添加數據對象。

[array addObjectsFromArray:] :向可變數組尾部添加一個數組對象。

?[muArray?insertObject:@""?atIndex:]; 向可變數組的指定位置添加對象。

? ?for?(NSObject?*?object?in?muArray)?{?

? ?NSLog(@"數組對象:%@",?object);?
}

NSRange range = NSMakeRange(0,6); 設置一個范圍為 0 到 6 之間。

[array removeObject:obj inRange:range] : 設置在一個范圍內刪除數據,如果這個范圍內沒有刪除的這個對象則不會刪除任何東西。例子中因為obj對象在 數組 0 到 6的范圍內,所以obj就被刪除掉了。

[muArray?replaceObjectAtIndex: withObject:@""]; 替換某索引值對應的對象。

isKindeOfClass,isMemberOfClass,id 動態數據類型:

對象在運行時獲取其類型的能力,成為內省,內省有很多種方法實現:

判斷對象類型:

-(BOOL) isKindOfClass: classObj判斷是否是這個類或者這個類的子類的實例。

-(BOOL) isMemberOfClass: classObj 判斷是否是這個類的實例,和父類沒有關系。

id類型可以指向任何類的實例,不需要強轉。 example: TestCourse *course =?[[TestCourse alloc]?init];? id t = course; NSString:字符串比較方法 isEqualTostring [string1?compare:string2];? NSArray?*array?=?[nstring?componentsSeparatedByString:@","]; 按照指定的字符分割字符串。 使用標準的c創建字符串 char?*Cstring?=?"字符串"; ? NSString * string = [[NSString?alloc]?initWithUTF8String:Cstring];?

[string1?hasPrefix:@"aaa"]匹配以“aaa”開頭的字符串。

[string2?hasSuffix:@"bbb"]匹配以“bbb”結尾的字符串。

[string?stringByReplacingCharactersInRange:rang?withString:@"大產"];將搜索出來的字符串替換成指定字符串。

[string?stringByReplacingOccurrencesOfString?:@"?"?withString:@"*"]; ?將所有為“ ”的字符串全部替換為“*”

NSInteger?integerNumber?=?11; ?

NSString?*?string?=?[NSString?stringWithFormat:@"%d",integerNumber];將NSInteger轉換成NSString。

NSInteger?integer?=?[string?intValue]; ?將NSString轉化成NSInteger.

?

?

轉載于:https://www.cnblogs.com/yanliang/archive/2013/03/10/2952951.html

總結

以上是生活随笔為你收集整理的Objective-C 语法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。