Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 用CoreData对象填充NSSet_Iphone_Ios_Core Data_Nsset - Fatal编程技术网

Iphone 用CoreData对象填充NSSet

Iphone 用CoreData对象填充NSSet,iphone,ios,core-data,nsset,Iphone,Ios,Core Data,Nsset,我在核心数据中有一对多的关系。现在我想用我的核心数据实体创建一个对象,并将其设置为NSSet。我认为核心数据对象的实例化方式是正确的。但我无法将我的对象设置为NSSet AppDelegate *appDelegate = [[UIApplication sharedApplication]delegate]; NSManagedObjectContext *context = [appDelegate managedObjectContext]; NSSet *selectedCategor

我在核心数据中有一对多的关系。现在我想用我的核心数据实体创建一个对象,并将其设置为NSSet。我认为核心数据对象的实例化方式是正确的。但我无法将我的对象设置为NSSet

AppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];
NSManagedObjectContext *context = [appDelegate managedObjectContext];

NSSet *selectedCategories = [NSSet set];

for (NSString *categoryName in self.categories /*NSMutableArray propterty*/) {
    Category *category = [NSEntityDescription  
    insertNewObjectForEntityForName:@"Category" inManagedObjectContext:context];
    category.name = categoryName;
    [selectedCategories setByAddingObject:category];
}

[self.delegate addCategoryViewControllerDidSelectCategory:
                                 self didSelectCategories:selectedCategories];
我对核心数据和iOS还是个新手。我希望你们能帮助我,伙计们。 提前谢谢。

这一行

[selectedCategories setByAddingObject:category];
创建未指定给任何变量的新集合。尝试使用可变集

NSMutableSet *selectedCategories = [NSMutableSet set];

for (NSString *categoryName in self.categories /*NSMutableArray propterty*/) {
    Category *category = [NSEntityDescription  
    insertNewObjectForEntityForName:@"Category" inManagedObjectContext:context];
    category.name = categoryName;
    [selectedCategories addObject:category];
}

您需要像这样构建集合:

selectedCategories = [selectedCategories setByAddingObject:category];
但这是非常低效的,相反,您应该使用
NSMutableSet
并将每个新对象添加到其中:

 [selectedCategories addObject:category];

谢谢,关于我的问题,这是正确的。现在我可以填这组了。简单。所以我的bug取决于核心数据。