我一直在浏览这里的截屏视频,以学习如何编写基于表格的 iPhone 应用程序,到目前为止进展顺利。目前我已经完成了第三集的一半,它开始遇到障碍。
为了删除表格顶层的临时硬编码,本教程NSMutableDicitonary
为所有条目及其数据创建一个,然后创建一个NSArray
usingforKeys
语句以获取一个仅包含词条的数组,以显示在表格单元格中。
我遇到的问题是数组的变量拒绝合成。
有问题的变量在AppDelegate.h
文件中定义,其余属性如下:
@property (readonly) NSArray *recipes;
然后在AppDelegate.m
文件中合成并实现如下:
@synthesize recipes;
- (NSArray *)recipes {
return [data allKeys];
}
我询问了截屏视频的作者,他建议以下内容AppDelegate.h
:
@class Foo :NSObject {
NSArray *_recipes;
}
@property(nonatomic, retain)NSArray *recipes;
@end
这对于AppDelegate.m
:
@implementation Foo
@synthesize recipes = _recipes;
@end
我尝试了这种方法,但它产生的错误比以前更多。是什么让这个变量定义与任何其他 @property 不同,我怎样才能让它表现出来?