2010-09-14 85 views
0

我已經開始在一個側面項目上工作,所以代碼庫非常小,很少出錯。奇怪的事情正在發生。在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如下init'ed:

self.story_array = [[NSMutableArray裏的alloc] INIT];

+0

你還沒有發佈最重要的一行 - 你如何在viewDidLoad方法中創建和初始化你的story_array ... – Vladimir 2010-09-14 11:07:32

+0

啊,謝謝。這是一個簡單的[[NSMutableArray alloc] init];我會在中添加。 – mtrc 2010-09-14 14:11:44

回答

0

對作品預覽對象字段的賦值沒有正確完成。我:

someField = someValue; 

我需要:

self.someField = someValue; 

我仍然覺得有點瘋狂,但你去那裏。解決了。

相關問題