アプリはコアデータからデータを取得してから、値の1つをIFステートメントと比較する必要があります
MyAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = [appDelegate managedObjectContext];
NSEntityDescription *getDetails = [NSEntityDescription entityForName:@"Detail" inManagedObjectContext:context];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:getDetails];
NSPredicate *pred = [NSPredicate predicateWithFormat:@"(genID = %i)", genID];
[request setPredicate:pred];
NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"genID" ascending:YES];
[request setSortDescriptors:[NSArray arrayWithObject:sort]];
NSError *error;
NSArray *objects = [context executeFetchRequest:request error:&error];
for (NSManagedObject *oneObject in objects) {
NSString *type = [oneObject valueForKey:@"type"];
if (type == @"straight") {
NSLog(@"straight");
//straight logic removed
}else if (type == @"Left") {
NSLog(@"Left");
//Left logic removed
}else {
NSLog(@"Else");
//Else logic removed
}
}
問題は、それが常にELSEに「まっすぐ」または「左」になることは決してないということです。コードをステップスルーすると、値がまっすぐ左に一致していることがわかります。ログファイルにダンプしても、問題なく表示されます。なにが問題ですか?