Ios NSMutableArray到UITableView

Ios NSMutableArray到UITableView,ios,objective-c,uitableview,Ios,Objective C,Uitableview,这可能是一个愚蠢的问题,但我对IPhone开发还不熟悉,不管怎样,我有一个NSMutableArray,其中包含从服务器加载的信息。我正试图把这些信息摆在桌面上。我四处寻找一些关于如何做到这一点的想法,我遇到了很多人似乎都在使用的代码: - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [myArray count]; } - (UITabl

这可能是一个愚蠢的问题,但我对IPhone开发还不熟悉,不管怎样,我有一个
NSMutableArray
,其中包含从服务器加载的信息。我正试图把这些信息摆在桌面上。我四处寻找一些关于如何做到这一点的想法,我遇到了很多人似乎都在使用的代码:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [myArray count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath           *)indexPath
  {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"UITableViewCell"];

if (!cell) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"UITableViewCell"] autorelease];
}

cell.textLabel.text = [myArray objectAtIndex:[indexPath row]];
NSLog(@"Cell is %@", [myArray objectAtIndex:indexPath.row]);
return cell;
}


现在我的问题在if语句中,它给了我两个关于自动释放的错误:在引用计数模式下不可用和不可用,arc禁止自动释放的消息发送,有什么想法吗??感谢您的帮助

您拥有的代码是较旧的代码,仅适用于手动参考计数(MRC)。较新的项目默认使用自动引用计数(ARC)。只需删除对
自动释放的调用即可

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"UITableViewCell"];

您使用的是自动引用计数,它负责内存管理(大部分)。删除对手动内存管理的所有引用,如
自动释放
(和
保留
释放
等),应用程序将生成。请在下面使用此选项:

if (!cell) {

    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"UITableViewCell"];

 }

这也可以使用免费提供的Sensive TableView框架轻松完成。他们有一个叫做ArrayOfObjectsSection的东西,您只需将NSArray传递给它,它就会自动显示它,以及其他许多东西(包括为您完成服务器抓取)

这是一个简单的教程链接,用于将NSMutableArray添加到tableView中……希望对您有用。

听起来您是在启用ARC的情况下编译的。如果是这样,请删除
autorelease
调用。您正在盲目复制一个使用旧式垃圾收集的示例,但您正在构建启用了“ARC”(自动引用计数)的示例。您正在使用ARC模式。只需删除自动恢复。@HotLicks因为这是iOS,你的意思是手动引用计数,而不是垃圾收集。它现在可以编译了,但由于某些原因,表中没有任何内容,它会给我一个警告,我在声明单元格时说tableView的本地声明隐藏了实例变量。这可能是问题所在吗?