此问题来自previous问题。然而,stackoverflow使我免于评论 - 就像它有时会阻止我在我自己的问题上设置正确的答案。
无论如何,我的申请中发生了一些奇怪的事情。我有一个房产:
@property (nonatomic, retain) NSMutableArray *hotelList; //I also synthesize it
这就是我设置属性的方式:
- (void)populateHotelList
{
SearchWebServiceController *searchWS = [[SearchWebServiceController alloc]init];
//If I remove this retain the App crashes
hotelList = [[searchWS getHotelsByRegionCode:@"12345" AndByKid:@"12345"] retain];
[searchWS release];
}
但是,如果我删除了保留我的应用程序崩溃。但根据Apple文档,我不需要保留它吗?!
这是方法的实现:
- (NSMutableArray *)getHotelsByRegionCode:(NSString *)regionCode
AndByKid:(NSString *)Kid
{
NSMutableArray *result = [[NSMutableArray alloc]init];
...
return [result autorelease];
}
任何人都可以帮忙!
答案 0 :(得分:0)
您必须保留它,因为您的方法返回将在下一个事件循环中销毁的autorelease对象。
答案 1 :(得分:0)
添加了自我限定符并且它有效。
self.hotelList = [searchWS getHotelsByRegionCode:@“12345”AndByKid:@“12345”];
感谢spbfox!