property和 property的一些小結

2021-09-01 10:26:36 字數 998 閱讀 8645

在.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還可以做動詞,表示賦予。特性,屬於人為賦予的可改變的屬性。比如...