1、建立物件:①、nsstring *mystring=[nsstring string];呼叫了自己類的string方法,建立的是乙個自動釋放的物件(autorelease)的物件;②、手工建立物件:nsstring *mystring=[[nsstring alloc] init];先呼叫自己的alloc方法,分配記憶體及例項化乙個物件。而第二個就是呼叫新建立的物件的init方法,建立例項變數,物件初始化。
2、記憶體管理:上面的方法①建立的物件貌似可以自動釋放掉,但是方法②是手工建立的物件,必須手工釋放掉:nsstring *mystring=[[nsstring alloc] init];[mystring release];可以認為在當前函式結束時自動釋放物件。
3、一般在呼叫了乙個nil物件的方法時,若該方法有返回值則會返回nil值,不會出錯。self
.caption =
nil;
可以這樣做是因為當我們將nil賦值給乙個例項變數,設定器(setter)會釋放舊物件並且保留(retain)nil物件。這種做法對於dealloc來說更好一些,因為這樣做避免了讓變數指向乙個隨機的資料,而這個資料又恰好是另外乙個物件。如果直接caption = nil;則會出現記憶體洩露問題。
建立物件的6種方式
物件 無序的屬性的集合,key 字串 不重複 value 任何資料型別 表現方式 對映 賦值 1 new object var x age var obj newobject obj.name gao obj.x 18 字串 obj x 16 變數 console.log obj 字面量 var x...
建立物件的五種方式
建立物件的五種方法 物件字面量 var person1 工廠模式 1 var person1 8 建構函式模式 var person1 原型模式 var person1 組合模式 function person name,age,job person.prototype var person1 ne...
JavaScript物件建立的九種方式
1 標準建立物件模式 var person new object person.name nicholas person.age 29 person.job software engineer person.sayname function 2 字面量模式 var person 3 工廠模式 fun...