在cocoa框架中,nsobject是所有類的根類。其它類都要從nsobject繼承。
類的定義在.h標頭檔案裡定義,如:
@inte***ce myclass:nsobject
@property(nonatomic,retain)nsstring *name;
@property(nonatomic,retain)nsnumber* age;
-(id)initwithname:(nsstring*)string;
@end
類的定義由@inte***ce開始,到@end結束
類名後面緊跟冒號和父類
大括號定義成員變數
@property宣告屬性
方法放在成員變數後。
屬性不是必須要有成員變數對應。如果上面沒有定義成員變數,oc會自動提供與屬性名同名的例項變數。
在.m檔案裡,使用@synthesize,編譯器會自動給name、age加上get、set方法。
@impletation
@synthesize name,age;
nonatomic的意思是對屬性進行操作時,是執行緒不安全的,多執行緒環境下,該屬性很可能不同步。加nonatomic,該屬性不會在多執行緒下使用,相對會獲得更好的效能。
在object-c裡,使用retain的屬性在賦值後一直到物件銷毀之前始終可用。如果例項變數或屬性不是retain,對屬性賦值後,再訪問這個屬性,這個屬性就變成空了。
屬性還可以用readonly,readwrite修飾。
String類的一些問題
string a hello string b hello string c he llo string d he new string llo a b 1 a c 2 a d 3首先公布答案,式子1返回true,式子2返回true,式子3返回false 式子1很好理解,由於存在字面量池,在用字面量...
Linux vim一些問題解決
1.按 i 後,沒有出現insert 解決方法 在vimrc檔案中,加入set showmode 2.backspace鍵不能刪除,同時方向鍵在insert模式下會打出abcd 解決方法 在vimrc檔案中,加入set nocompatible 3.backspace在insert模式下不能刪除空行...
ubuntu的一些問題解決
引用 http dx.ylmf.net read.php?tid 1085946 fpage 0 toread uid 722851 page 1 解決問題 知識所在樓層及內容 1.ubuntu是什麼?2.零命令玩轉ubuntu 8.10 livecd光碟安裝篇 3.什麼是wine? 4.零命令玩轉...