我已经[盲目地]解决了我的问题,但我更愿意从专业人士那里理解一个概念。所以,您能告诉我为什么下面两个相同的代码中一个可以工作而另一个不行吗?
我忘了告诉你我遇到了什么错误,当我执行代码1时,我在下面这行代码处得到了SIGABRT错误。
给我解释一下吧!
代码1:不起作用
//Above code omitted...
NSPredicate * predicate = [NSPredicate predicateWithFormat:@"gender == m"]; //NOTICE HERE
[request setPredicate:predicate];
NSError *error = nil;
self.people = [self.managedObjectContext executeFetchRequest:request error:&error];
//Below code omitted...
代码 2:能够工作
//Above code omitted...
NSString *type = @"m";
NSPredicate * predicate = [NSPredicate predicateWithFormat:@"gender == %@",type]; //NOTICE HERE
[request setPredicate:predicate];
NSError *error = nil;
self.people = [self.managedObjectContext executeFetchRequest:request error:&error];
//Below code omitted...
我忘了告诉你我遇到了什么错误,当我执行代码1时,我在下面这行代码处得到了SIGABRT错误。
self.people = [self.managedObjectContext executeFetchRequest:request error:&error];
还有一件事,在GCC错误中,它无法格式化谓词因为“gender == m”。
给我解释一下吧!
谢谢