如何限制coredata中空值的输入?

时间:2015-10-26 05:35:51

标签: ios objective-c iphone core-data xml-parsing

我正在开发基于XMLparsing的项目,我使用coredata来存储url。

但有时候coredata输入的空值我不知道为什么会出现这种类型的问题。

这是我尝试过的代码。

<script id="initial-state"

有人请帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:0)

你可以检查&#34; null&#34;使用此表达式的值,如果值即将到来&#34; null&#34;然后只需插入空白值,否则传递您获得的值。非常简单的代替&#34; strname&#34;只需传递你的关键值。

 if (strname == nil || strname == (id)[NSNull null])
                {
                    cell.lbltitle.text=@"";

                }

答案 1 :(得分:0)

将宏定义为。

 #define IS_NOT_NIL_OR_NULL(value)           (value != nil && value != Nil && value != NULL && value != (id)[NSNull null])

在核心数据中保存值之前,请检查您的值为null。

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]);
    }

}

希望对你有所帮助。

答案 2 :(得分:0)

如何从CoreData属性编辑器中取消选中Optional呢?

enter image description here