Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.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/macos/10.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
iOS和Mac OS中核心数据的独特属性_Ios_Macos_Core Data - Fatal编程技术网

iOS和Mac OS中核心数据的独特属性

iOS和Mac OS中核心数据的独特属性,ios,macos,core-data,Ios,Macos,Core Data,我有两个项目使用相同的代码来测试iOS和Mac OS中uniques属性的行为,发现它们是不同的 首先,我创建了一个名为Person的实体,并向其添加了一个属性name。然后将此属性添加到约束中 其次,我添加了[\u managedObjectContext setMergePolicy:NSMergeByPropertyObjectTrumpMergePolicy]; 到AppDelegate.m中的-(NSManagedObjectContext*)managedObjectContext

我有两个项目使用相同的代码来测试iOS和Mac OS中uniques属性的行为,发现它们是不同的

首先,我创建了一个名为
Person
的实体,并向其添加了一个属性
name
。然后将此属性添加到约束中

其次,我添加了
[\u managedObjectContext setMergePolicy:NSMergeByPropertyObjectTrumpMergePolicy];
AppDelegate.m
中的
-(NSManagedObjectContext*)managedObjectContext

最后,我在
ViewController.m
中修改了
viewDidLoad
,如下所示:

- (void)viewDidLoad {
[super viewDidLoad];
AppDelegate *sharedDelegate = [[UIApplication sharedApplication] delegate];
// NSApplication for Mac OS
Person *salary = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:sharedDelegate.managedObjectContext];

[salary setName:@"a"];

[sharedDelegate.managedObjectContext save:nil];

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Person"];

NSArray *result = [[sharedDelegate managedObjectContext] executeFetchRequest:request error:nil];

NSLog(@"%lu",(unsigned long)[result count]);
for (Person *item in result) {
    NSLog(@"%@",[item name]);
}

}
在我多次运行这两个项目之后,我发现属性的唯一性在iOS中是有保证的,而在Mac OS中是不正确的。这是一个存在的bug,还是我用错误的方式做了测试