Possible Duplicate:
Im getting this error ‘autorelease’ is unavailable: not available in automatic reference counting mode自動引用計數模式自動釋放不可用
我學習Objective-C有一本書叫做Objective-C的基礎,2011年出版它構建一個簡單的應用程序來介紹iOS的概念和教Objective-C語言。似乎自本書出版以來平臺或語言發生了一些變化。當我嘗試建立從書代碼(關鍵通道摘錄如下),我得到這個錯誤:出現
autorelease is unavailable: not available in automatic reference counting mode
ARC forbids explicit message send of 'autorelease'
錯誤消息的幾行以上,其中自動釋放在代碼中實際使用。我只有大約1小時的Objective-C和iOS經驗值,所以我不知道如何解決這個問題,所以我可以繼續這本書。任何幫助,將不勝感激。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView
dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil){ #### error message here
cell = [[[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier]autorelease]; ### autorelease used here
}
cell.textLabel.text = [NSString
stringWithFormat:@"Rental Property %d", indexPath.row];
NSLog(@"Rental Property %d", indexPath.row);
return cell;
}
如果我無法解決這些類型的小問題,那麼我將無法跟隨本書。如果我可以使用某種版本的系統(比如rvm for Ruby)來避免這種類型的問題,請讓我知道。
[我得到這個錯誤'autorelease'的可能重複是不可用的:不適用於自動引用計數模式](http://stackoverflow.com/questions/6363566/im-getting-this-error-autorelease-is-不可用,不可用在自動r),http://stackoverflow.com/questions/6692022/why-cant-i-release-an-object-anymore,和http://stackoverflow.com/questions/ 8236797/Xcode的可可釋放 - 是 - 不可用錯誤。 – CodaFi
隨着引入自動引用計數,內存管理在iOS5中發生了很大變化。你需要閱讀一篇關於ARC的好介紹。我推薦Matthijs Hollemans撰寫的[Ray Wenderlich的教程](http://www.raywenderlich.com/5677/beginning-arc-in-ios-5-part-1)。 – Thilo