oc學習總結(一)
知識要點
1、 類(inte***ce)
》頭檔案格式.h
@inte***ce class-name : super-class-name
@property ... //點語法中可以方便使用
以後property關鍵字實現了三部分工作:成員變數的定義如_name(預設為private),property和synthesize的功能
//構造方法的命名約定(以person類為例):類方法personwith開頭,例項方法initwith開頭
//+開頭的類方法
//-開頭的例項方法
@end
》實現檔案.m(.mm)
@implementation class-name
@synthesize ... //點語法中可以方便使用
//實現方法
...@end
2、 分類(category)
》頭檔案格式.h
@inte***ce class-name (category-name)
//+開頭的類方法
//-開頭的例項方法
@end
》實現檔案.m(.mm)
@implementation class-name (category-name)
//實現方法
...@end
3、 協議(protocol)
》頭檔案格式.h
@protocol protocol-name
//協議方法
...@end
4、 擴充套件(extension)
》宣告和實現都在.m檔案中
》格式類似於無名category
@inte***ce class-name ()
@end
》實現在原有類的implementation中
》相當於私有方法,類內部才可用
5、 委託(delegate)
》協議的一大特色,**模式
》協議findhouse的定義
@protocol findhouse
- (void) findhouse;
@end
》**中介agent
@inte***ce agent : nsobject - (void) findhouse;
@end
》甲方person
@inte***ce person : nsobject
+ (id) personwithdelegate:(id)pdelegate; //注入**
- (void) starttofindhouse;
@end
6、 foundation框架
》nsnumber(涉及到基本資料型別和物件的相互轉化,包裝和拆包)
包裝[number numberwithint:age]
拆包[number intvalue]
》nsstring(字串的初始化、拼接、查詢和比較)
字面量語法 nsstring *str = @"hello oc"
長度[str length]
子串substringfrom, substringto, substringwithrange
比較isequaltostring, compare, caseinsensitivecompare
拆分字串 componentsseparatedbystring
陣列拼接字串componentsjoinedbystring
字串拼接stringwithformat
查詢字串hasprefix, hassuffix, containsstring, rangeofstring
》nsarray(陣列中只能存放物件,包括可變nsmutablearray和不可變陣列)
建立arraywithobjects, arraywitharray
長度[arr count]
查詢indexofobject
可變陣列addobject
》nsset(無序列表,只能存放物件,分類可變nsmutableset和不可變集合,自動去除重複物件)
建立setwithobjects
增加setbyaddingobject(返回新物件)
可變集合nsmutableset
子集判斷intersectsset
交集intersectset
差集minusset
》nsdictionary(字典為鍵值對,鍵值都必須是物件,而且都不能為nil,如果值為空時可採用nsnull)
建立dictionarywithobjectsandkeys
取值objectforkey
可變字典 setvalue: forkey
刪除removeobjectforkey
OC學習總結
經過小半個月的學習oc學習結束了,或多或少的有些收穫與不足.1首先學習物件導向與面向過程的區別 開發中 先定義類,再建立物件,然後使用物件 定義類包含了兩個部分 介面部分和實現部分 1 介面部分 對外宣告類的特徵和行為 標誌 inte ce 2 實現部分 對內實現行為.標誌 implementati...
OC學習總結之block category
例子 用乙個block輸出n條橫線 void lineblock int int n lineblock 5 int sumblock int,int void myblock inta,intb typedef int myblock int,int 以後就可以利用myblock這種型別來定義bl...
OC學習心得(一)
一 objective c 的介紹 objective c是 c語言的乙個擴充套件集。objective c是c 以c語言為基礎,可以實現面向程式設計,並提供了針對 ios開發的大量類庫。一般使用蘋果公司的xode 工具來編寫程式。xcode的.m 副檔名表示檔案含有 objective c 應由 ...