2010-11-13 53 views
1

如果我沒有使用垃圾回收,並且將自動屬性設置爲保留。我應該釋放我的dealloc中的對象還是生成的代碼爲我處理。在Objective-C中管理自動屬性中的內存設置爲(保留)

更清楚,將下面的代碼泄漏內存,如果我沒有在的dealloc釋放name

Person.h

@interface Person : NSObject { 
} 
@property (retain) NSString* name; 
@end 

Person.m

#import "Person.h" 

@implementation Person 
@synthesize name; 
@end 

回答

2

一個@propertyretain/assign/copy屬性隻影響他們的行爲在getter和setter。你需要手動-release伊娃在-dealloc

0

是的,這會造成內存泄漏。

您應該手動或在dealloc中,以防止內存泄漏釋放。

這裏是另一種方式與此有關工作..

//.h文件

@interface人:NSObject的 {

的NSString *名稱;

}

@end

//.m文件

進口 「Person.h」

@implementation人

- (無效)viewDidLoad中

{

//你可以使用self.name = [Nsstring StringWithFormat:@「」];

} @end

感謝 希亞姆帕爾馬

相關問題