我試圖使用PList來填充從視圖控制器推送的視圖控制器,該視圖控制器從表視圖中推送。更簡單地說:在表視圖控制器(didSelectRowAtIndexPath)中設置整數值用於PList(iOS)
TableViewController - > DetailViewController - > 2ndDetailViewController(< - 這一個是我填充一個)
我試圖做到這一點的方法是用一個整數設置爲值當用戶點擊表格視圖中的行時。然後,我將使用該整數的值指向PList中的正確值並拉出相應的字符串。在第二個視圖控制器中,我試圖用PList中的圖像填充UIImageView。這裏是我的didSelectRowAtIndexPath方法的代碼:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
DealsDetailViewController *dealsDetail = [[DealsDetailViewController alloc]initWithNibName:@"DealsDetailViewController" bundle:nil];
dealsDetail.dealsImageString = [[self.dealsArray objectAtIndex:indexPath.row] objectForKey:@"Image"];
dealsDetail.dealsLabelString = [[self.dealsArray objectAtIndex:indexPath.row] objectForKey:@"Description"];
dealsDetail.title = [[self.dealsArray objectAtIndex:indexPath.row] objectForKey:@"Name"];
if ([[dealsArray objectAtIndex:indexPath.row] isEqual:@"Deal #1"]) {
dealsDetail.dealsInt = 0;
[dealsDetail setTitle:[dealsArray objectAtIndex:indexPath.row]];
}
if ([[dealsArray objectAtIndex:indexPath.row] isEqual:@"Deal #2"]) {
dealsDetail.dealsInt = 1;
[dealsDetail setTitle:[dealsArray objectAtIndex:indexPath.row]];
}
if ([[dealsArray objectAtIndex:indexPath.row] isEqual:@"Deal #3"]) {
dealsDetail.dealsInt = 2;
[dealsDetail setTitle:[dealsArray objectAtIndex:indexPath.row]];
}
[self.navigationController pushViewController:dealsDetail animated:YES];
[dealsDetail release];
一切都被正確填充。我試圖在表視圖控制器(點擊按鈕)和DealsDetailViewController的viewDidLoad方法中NSLog的dealsDetail.dealsInt的值。兩次,無論我點擊哪一行,它都會返回值「0」。我的語法在哪裏出錯了?
編輯-------- 這裏的時候我退出我得到什麼:
NSLog(@"%@",[dealsArray objectAtIndex:indexPath.row]);
2011-11-28 17:40:59.092 Stores Tab Bar[7386:207] {
Barcode = "SampleBarCode3.png";
Description = "Here's the deal 3";
Image = "FritoTest.png";
Name = "Deal #3";
Thumbnail = "dollars.png";
}
它記錄的是被點擊正確的對象的plist內容。因此它抓住了正確的信息(我認爲這是因爲它是正確填充表視圖和詳細信息視圖...)
此代碼看起來不錯。請在DealsDetailViewController中包含屬性的聲明以及選擇圖片時使用此值的代碼 - 聽起來您的字符串格式可能有錯誤,因此記錄/文件名無法正常工作 – jrturton
我實際上沒有編寫代碼還沒有在第二個DealsDetailViewController中設置圖像,因爲它出現整數沒有保留值(我想確保這是第一次工作)。無論我按下哪個按鈕,會不會有一個原因爲什麼總是記錄「0」? – MillerMedia
您在使用DetailViewConroller或SecondDetailViewController或兩者時遇到問題嗎?你的問題從第二個開始,然後似乎轉向第一個? –