2014-02-23 75 views
0

我在iOS的編程新的,我有一個奇怪的問題返回nil只有...的UIImage在一個UIImageView

我創建了一個tableview中,加入細胞「字幕」的風格。在我的代碼中,我可以設置圖像,一切正常。代碼(g, gf and picturesArray are strings array)

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    static NSString * cellIdentifier = @"fCellID"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

    NSString *feed = [self.g objectAtIndex:indexPath.row]; 
    NSString *feed1 = [self.gf objectAtIndex:indexPath.row]; 
    NSString *feed2 = [self.picturesArray objectAtIndex:indexPath.row]; 

    [cell.textLabel setText:feed]; 
    [cell.detailTextLabel setText:feed1]; 
    cell.imageView.image = [UIImage imageNamed:feed2]; 
    return cell; 
} 

接下來,我想去一個新的觀點,當我點擊一個單元格。這裏代碼:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    GUDdfViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"GUdfView"]; 

    detail.titleString = [self.gf objectAtIndex:indexPath.row]; 
    detail.descriptionString = [self.gfs objectAtIndex:indexPath.row]; 
    detail.contentString = [self.gfc objectAtIndex:indexPath.row]; 
    detail.imageNameString = [self.picturesArray objectAtIndex:indexPath.row]; 

    [self.navigationController pushViewController:detail animated:YES]; 
} 

好的。所有作品;在我的新觀點中,標題和副標題都有很好的內容。 但是!不顯示圖像......在這裏,我在「GUDdfViewController」設置圖像的行:

[self.pictureLogoOutlet setImage:[UIImage imageNamed:self.imageNameString]]; 

當我使用NSLog,它說我,我的目標是(pictureLogoOutlet.image)null。我也試過這樣:

[self.pictureLogoOutlet setImage:[UIImage imageNamed:@"baguette.png"]]; 

但問題是一樣的...

你知道爲什麼我有這個問題?我真的不明白。

+0

您是否已將圖像文件添加到項目的目標? – sooper

+2

繼續使用日誌進行調查:self.pictureLogoOutlet本身是否爲零?我敢打賭。 – matt

+0

你在正確的軌道上。你只需要明白爲什麼插座沒有初始化。當然,如果它是零,在nil上設置圖像屬性將不會執行任何操作。它在IB連接?你是否調用了setImage:viewDidLoad完成後? (從你的發佈代碼看來,在GUDdfVc的viewDidLoad中放置一個斷點,在setImage上放置一個斷點並查看哪個斷點是先觸發的 – danh

回答

0

pictureLogoOutlet在nil中,因爲您的GUDdfViewController尚未初始化其IBOutlet。 你必須爲你的viewocntroller創建UIImage屬性,並在你的GUDdfViewController的viewDidLoad中使用該屬性加載imageView。