我已经开始研究一个辅助项目,因此代码库非常小,可能会出错。发生了一些奇怪的事情。在viewDidLoad中,我将数组设置为属性:
@property (nonatomic, retain) NSMutableArray * story_array;
并填写数据。打印输出很好:
NSLog(@"%@", ((ArticlePreview *)[self.story_array objectAtIndex:0]).article);
我有一个手势识别器:
UITapGestureRecognizer * openStory = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showStory)];
点击它会调用第一行为此的方法(即相同的NSLog):
NSLog(@"%@", ((ArticlePreview *)[self.story_array objectAtIndex:0]).article);
但这会导致访问不良。访问story_array本身很好(它会说它里面有很多ArticlePreview对象)但访问它们的字段是禁止的。
story_array初始化如下:
self.story_array = [[NSMutableArray alloc] init];
答案 0 :(得分:0)
未正确完成对ARticle预览对象字段的分配。我有:
someField = someValue;
我需要:
self.someField = someValue;
我仍然觉得有点疯狂,但你去了。解决。