【发布时间】:2010-09-14 11:04:08
【问题描述】:
我已经开始从事一个业余项目,所以代码库非常小,几乎不会出错。奇怪的事情正在发生。在 viewDidLoad 中,我将一个数组集初始化为属性:
@property (nonatomic, retain) NSMutableArray * story_array;
并用数据填充它。这个打印输出很好:
NSLog(@"%@", ((ArticlePreview *)[self.story_array objectAtIndex:0]).article);
我有一个手势识别器:
UITapGestureRecognizer * openStory = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showStory)];
点击它会调用一个方法,其第一行是this(即相同的NSLog):
NSLog(@"%@", ((ArticlePreview *)[self.story_array objectAtIndex:0]).article);
但这会导致访问错误。访问 story_array 本身很好(它会说它里面有很多 ArticlePreview 对象)但是访问它们的字段是不行的。
story_array 的初始化如下:
self.story_array = [[NSMutableArray alloc] init];
【问题讨论】:
-
您还没有发布最重要的几行 - 您如何在 viewDidLoad 方法中实际创建和初始化您的 story_array...
-
啊,谢谢。这是一个简单的 [[NSMutableArray alloc] init];我会把它添加进去。
标签: objective-c memory-management