【发布时间】:2015-10-27 04:38:43
【问题描述】:
当我试图限制 coredata 中的 nill 值时,我遇到了类似
的错误函数“IS_NOT_NIL_OR_NULL”的隐式声明在 C99
这是我的代码:
if ([[context executeFetchRequest:fetchRequest error:NULL] count] == 0) {
// Create a new managed object
NSManagedObject *newDevice = [NSEntityDescription insertNewObjectForEntityForName:@"demo" inManagedObjectContext:context];
if (IS_NOT_NIL_OR_NULL(self.Name))
{
[newDevice setValue:self.Name forKey:@"nameofentry"];
} else
{
// Handle else case . get self.name value is null here .
}
if (IS_NOT_NIL_OR_NULL(self.WebsiteName))
{
[newDevice setValue:self.WebsiteName forKey:@"sitename"];
} else
{
// Handle else case . get self.WebsiteName value is null here .
}
if (IS_NOT_NIL_OR_NULL(self.Feedlink))
{
[newDevice setValue:self.Feedlink forKey:@"urloffeed"];
} else
{
// Handle else case . get self.Feedlink value is null here .
}
NSError *error = nil;
// Save the object to persistent store
if (![context save:&error]) {
NSLog(@"Can't Save! %@ %@", error, [error localizedDescription]);
}
}
编辑:
【问题讨论】:
-
什么是
IS_NOT_NIL_OR_NULL?你不能只是胡编乱造。 -
我想限制在 coredata 中输入 NULL 值。我从这个问题中得到了参考。 stackoverflow.com/questions/33339061/…
-
那一定是某个人创建的宏。它不是标准 API。
-
尝试使用
__nonnull -
@trick14 _nonnull 不被接受。
标签: ios objective-c core-data