2

ブール型の属性の値を割り当てようとしています。それをやろうとすると、このエラーが発生します

ジョブがクラッシュしたようです:セグメンテーション違反:11

以下のコードは次のとおりです。

NSMutableArray *emails = [[NSMutableArray alloc] init];

NSError *error = nil;

//This is your NSManagedObject subclass
SalesPerson * client = nil;

NSFetchRequest * request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"SalesPerson" inManagedObjectContext:self.managedObjectContext]];

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == %@", query];

[request setPredicate:predicate];
NSArray *results = [self.managedObjectContext executeFetchRequest:request error:&error];

client = [results objectAtIndex:0];

client.mailed = TRUE;

NSLog(@"client email %@",client.email);

[emails addObject:client.email];

名前、メール、メールの3つの属性があります。エンティティのメール属性を変更しようとすると、上記のエラーがスローされます。Mailedはブール型です。他の属性は、更新時に変更される文字列です。

4

1 に答える 1

3

これがあなたが探している解決策であるかどうかわからない。coredataモデルクラスをチェックし、mailedとして宣言されていることを確認してNSNumberくださいBOOL。したがって、保存または読み取りを行うときは常に、一方から他方に変換する必要があります。

NSNumber *aNumber = [NSNumber numberWithBool:mailed];

BOOL mailed = [aNumber boolValue];
于 2012-10-11T05:32:32.100 に答える