簡體   English   中英

用assign-c分配和讀寫屬性來釋放屬性

[英]dealloc properties with assign and readwrite objective-c

我有這個結構:

@interface MyList : NSObject {
    NSString* operation;
    NSString* link;
}

@property (readwrite) NSString* operation;
@property (readwrite, assign) NSString* link;

@end


@implementation MyList
@synthesize operation,link;
@end

我知道,如果我保留而不是讀寫,我應該釋放操作和鏈接屬性。

但是我應該釋放操作並鏈接上面的代碼嗎?

不。您沒有在其中新建,分配,保留或復制值,因此您不能(自動)釋放它們。

默認值為readwrite,assign和atomic。 因此,在第一個示例中,如果不指定分配,保留或復制,則默認情況下實際上是在使用分配。 這就是為什么您以后不使用發行版的原因。 分配不會增加對象的保留計數。 請注意,對於諸如字符串之類的對象,您幾乎永遠不會想要使用assign,因為您不擁有該對象,並且它可能會在您身上釋放。 因此,對於要使用保留或復制的對象。 您只能對浮點數,NSIntegers,BOOL等標量類型使用assign。還請注意,如果不使用垃圾回收,則如果未指定assign,retain或copy,則會收到編譯器警告。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM