我甚至不知道該怎麼稱呼這個問題。更不用說如何搜索解決方案。iPhone UITableView古怪
我正在使用Xcode 4. 我正在使用CoreData。 我有標籤欄應用程序。 4個不同的標籤。 這是模擬器的問題。
兩個選項卡的根表視圖由一組控制器填充。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSUInteger row = [indexPath row];
SecondViewController *nextController = [self.medControllersArray objectAtIndex:row];
[self.navigationController pushViewController:nextController
animated:YES];
}
當向下鑽取到其中一個控制器時,您可以看到另一個表格視圖。
當在下一個控制器的表視圖中點擊添加按鈕並添加一個名稱或其他來填充表視圖時,如果您轉到另一個控制器的表視圖,它會使用相同的信息和其他表視圖填充。
因爲我得到了臭名昭著的+entityForName
錯誤
我在viewDidLoad中添加此
if (managedObjectContext == nil)
{
managedObjectContext = [(MIT2AppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
NSLog(@"After managedObjectContext_: %@", managedObjectContext);
}
在應用程序的委託方法添加此application:didFinishLaunchingWithOptions
ViewController *viewController = [[ViewController alloc] init];
NSManagedObjectContext *context = [self managedObjectContext];
if (!context) {
NSLog(@"\nCould not create *context for self");
}
viewController.managedObjectContext = context;
我這樣做是爲每個下一個視圖控制器我已經和根視圖的兩個選項卡的根視圖未被填充控制器和數組。
當下一個視圖被推我也得到在控制檯這樣的警告:
After managedObjectContext_: <NSManagedObjectContext: 0x5934e10>
我希望這一切纔有意義。而且有人可以指引我正確的方向。
在此先感謝。
有時,當您使用核心數據模型並對其進行更改時,除非您採取適當的步驟來遷移核心數據模型,否則應用程序將崩潰......當您刪除應用程序時,以前的核心數據模型將與所有數據,所以如果它實際上是應用程序的第二版本,那麼核心數據模型應該被遷移... – Daniel 2011-06-11 07:21:06