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];
}
}
'NSLog'告訴你'saveObject',''check''和'context'在你的'save'調用之前的值? –
Classcheck是正確的 - 沒有$的字符串,但我不確定如何NSLog的schoolObject或上下文。 – RGriffiths
'NSLog(@「Object:%@,Context:%@」,schoolObject,context);'大多數情況下我正在驗證它們是否爲零。 –