在.h檔案中:
@inte***cemyclass:
nsobject
@property(nonamtic, retain) myobjecct *myobject;
@end
在.m檔案中
@implementation myclass
@synthesize myobject=_myobject;
- (void)dealloc
@end
_myobject是例項變數,相當於c++中self->
myobject
self.
myobject相當於
[self
myobject];是乙個訊息,也有說是屬性
myobjec
t和 _myobject是用來區別
例項變數訊息。一般來說,應該使用setter和getter的屬性,而不是直接訪問例項變數。
當你寫乙個setter方法,該方法不能自身使用setter,否則你會產生無限遞迴,並且發生崩潰。setter呼叫自身,再次呼叫自身,直到堆疊溢位。
寫成這樣:
@inte***ce
myclass
@property
(nonatomic
,retain
)nsstring
*myproperty;-
(nsstring
*)someothermethod
;@end
@implementation
myclass
@synthesize
myproperty
=_myproperty
;// setter and ivar are created automatically-(
nsstring
*)myproperty -(
nsstring
*)someothermethod
property和attribute的區別
property是指類向外提供的資料區域。而attribute則是描述物件在編譯時或執行時屬性的,分為固有型和使用者自定義型,其中使用者自定義型可以利用reflection在執行期獲取。這兩者是有本質區別的。資料上說二者乙個是service的屬性,而另乙個是inte ce的。第一種好象更準確,摘要如...
Property和attribute的區別
property和attribute的區別 attribute和property都可以翻譯成 屬性 有的地方用attribute表示 屬性 有的地方又在用property,初 學者常常在這兩個單詞間 迷失 甚至認為二者沒有區別,是一樣的。可是attribute不等於property。二者之間到底有何...
Attribute和Property的區別
而檔案 唯讀 隱藏 是算在attribute的,你可以改變他的唯讀 隱藏屬性,不過檔案本身不會有變化。所以這麼理解,property是 物體本身自帶屬性,不能改變的 一旦改了就是另外乙個東西了 attribute,由於 attribute還可以做動詞,表示賦予。特性,屬於人為賦予的可改變的屬性。比如...