ios-don';我不了解动态填充列表时如何正确使用数组

ios-don';我不了解动态填充列表时如何正确使用数组,ios,ios5,nsmutablearray,Ios,Ios5,Nsmutablearray,我试图找出如何创建一个字符串列表来填充UITableView,并确保每个单元格的大小适合每个字符串(有些字符串可能会很长) 我试图做的是在填充数组时声明一个临时数组来保存项目列表 在我的.h文件中,我声明如下: @interface BusinessTopicController : UIViewController <UITableViewDataSource, UITableViewDelegate> .... @end NSMutableArray *newArray;

我试图找出如何创建一个字符串列表来填充UITableView,并确保每个单元格的大小适合每个字符串(有些字符串可能会很长)

我试图做的是在填充数组时声明一个临时数组来保存项目列表

在我的.h文件中,我声明如下:

@interface BusinessTopicController : UIViewController <UITableViewDataSource, UITableViewDelegate>
 ....

@end

NSMutableArray *newArray;
// At the top of BusinessTopicController.m
@interface BusinessTopicController ()

@property (nonatomic, retain) NSMutableArray *theArray;

@end
我发现这个语法错误:

属性实现必须在@interface中声明

@property (nonatomic, retain) NSMutableArray *newArray;
但是当我把它添加到@接口时

@property (nonatomic, retain) NSMutableArray *newArray;
然后它在@synthesis数组上给了我一个不同的错误;这是哪一行:

Property's synthesized getter follows cocoa naming convention for returning 'owned' objects
我在谷歌上搜索了这个问题,解决方案似乎有些过火,因为在我看来,我只是在某个地方犯了一些愚蠢的错误

非常感谢您的任何建议

生成“属性的合成getter遵循cocoa命名约定…”编译器错误,因为您的属性以
new
开头,这意味着合成getter方法以
new
开头,这是为返回+1保留对象的方法保留的。因此,请尝试为该属性找到另一个名称

对于最新版本的Xcode和clang编译器,您只需要在接口中声明一个
@property
。您甚至可以跳过
@synthesis
,将为您合成一个带下划线前缀的ivar。删除
NSMutableArray*newArray行完全是因为它位于接口之外,本质上是一个全局变量

如果要保持属性的私有性,还可以在.m文件的匿名类别/类扩展名中声明它,如下所示:

@interface BusinessTopicController : UIViewController <UITableViewDataSource, UITableViewDelegate>
 ....

@end

NSMutableArray *newArray;
// At the top of BusinessTopicController.m
@interface BusinessTopicController ()

@property (nonatomic, retain) NSMutableArray *theArray;

@end

非常感谢。所以主要的问题是我用“new”字符串开始变量?谢谢,它解决了编译问题。如果SO允许,我会在几分钟内接受。