2013-10-05 34 views
0

我有一個例程,檢查存儲在覈心數據實體中的字符串的最後一個字符是否爲$,如果是,則設置變量'last'來記住這一點,然後重寫爲核心數據字符串與$刪除。iPad應用程序無法寫回核心數據

它不會拋出任何錯誤,並且如果最後一個字符爲$但是不會寫回到核心數據,則會通過'if'例程運行。任何人都可以看到我做錯了什麼?

NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Observations"]; 
NSError *error = nil; 
observationList = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error]; 


for (int loop1 = 0; loop1 < [observationList count]; loop1++) 
{ 

NSString *classCheckActual = [[observationList objectAtIndex:loop1] valueForKey: @"obsClassName"]; 
NSString *last = [classCheckActual substringFromIndex:[classCheckActual length] - 1]; 
NSString *classCheck = @""; 

if ([last isEqual: @"$"]) 
{ 
    classCheck = [classCheckActual substringToIndex:[classCheckActual length] - 1]; 
    NSManagedObject *schoolObject = [[self observationList] objectAtIndex:loop1]; 
    [schoolObject setValue:[NSString stringWithFormat:@"%@", classCheck] forKey:@"obsClassName"]; 
    NSError *error; 
[context save:&error]; 
} 

} 
+0

'NSLog'告訴你'saveObject',''check''和'context'在你的'save'調用之前的值? –

+0

Classcheck是正確的 - 沒有$的字符串,但我不確定如何NSLog的schoolObject或上下文。 – RGriffiths

+1

'NSLog(@「Object:%@,Context:%@」,schoolObject,context);'大多數情況下我正在驗證它們是否爲零。 –

回答

1

的錯誤是,要使用兩個不同的陣列:observationList在第一部分和在[self observationList]第二部分。

相關問題