Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.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获取时出现重复结果?_Iphone_Objective C_Core Data - Fatal编程技术网

Iphone 如何防止从CoreData获取时出现重复结果?

Iphone 如何防止从CoreData获取时出现重复结果?,iphone,objective-c,core-data,Iphone,Objective C,Core Data,我正在运行一个非常简单的fetchunitType,比如$gived\u TYPE,它使用一个替换字典,在应该有大约5个对象的情况下,始终返回40个对象。它似乎在以不同的顺序重复相同的结果,比如它们的排列或其他什么,除了120个5而不是40的排列 它返回: A B C D E A E D C B B A C D E E D B C A C E B D A A D E C B C D B E A B E A C D 每次都坚持 我99%确定没有相同实例的所有这些重复,我会检查以确保,但我不确定如

我正在运行一个非常简单的fetch
unitType,比如$gived\u TYPE
,它使用一个替换字典,在应该有大约5个对象的情况下,始终返回40个对象。它似乎在以不同的顺序重复相同的结果,比如它们的排列或其他什么,除了120个5而不是40的排列

它返回:

A B C D E
A E D C B
B A C D E
E D B C A
C E B D A
A D E C B
C D B E A
B E A C D
每次都坚持

我99%确定没有相同实例的所有这些重复,我会检查以确保,但我不确定如何检查,我希望此查询每个都返回一个

在缩小范围方面,任何帮助都将不胜感激

更新 这是我用于查找的基本代码,fetch请求是在xcode中,但它是一个单行程序,它只是说
unitType,比如$GIVEN\u TYPE

NSArray * results = nil;
NSManagedObjectModel * model = [[cont persistentStoreCoordinator] managedObjectModel];
NSDictionary * substDict = [NSDictionary dictionaryWithObject:name forKey:@"GIVEN_NAME"];
NSFetchRequest * fetReq = [model fetchRequestFromTemplateWithName:@"UnitLookup" substitutionVariables:substDict];
results = [cont executeFetchRequest:fetReq error:&e];

@macworth-我现在确实检查了Base,我是对的,只有5个对象的unitType等于我输入的值(尝试更改为==),我非常确定,因为我在测试开始时自己填充数据库,在从模拟器中删除应用程序后,我反复尝试,然后重新运行。

您可以在任何SQLLight浏览器中打开CoreData数据库-Base是一款不错的浏览器


找到iphonesimulator目录,转到其中的应用程序目录,并在其中查找SQLite数据库。在SQLlite浏览器中打开它,并查看表格,直到找到表示所讨论实体的表格,然后查看您有多少对象。

您可以在任何SQLLight浏览器中打开CoreData数据库-Base是一个不错的浏览器


找到iphonesimulator目录,转到其中的应用程序目录,并在其中查找SQLite数据库。在SQLlite浏览器中打开它并查看表,直到找到表示所讨论实体的一个,然后查看您有多少个对象。

您能否提供更多的代码,说明如何逐步构建获取?Re:“我99%确定没有相同实例的所有这些重复”CoreData不会为您提供在一次获取中复制的相同对象。因此,看起来有40个这样的对象与您的查询相匹配。为什么你认为应该有5个呢?所以我做了更多的调查,发现还有1%的不确定性,解决了这个问题。我应该删除我的问题还是什么?你能提供更多的代码来说明你是如何一步一步地构建你的获取的吗?Re:“我99%确定不会有相同实例的所有这些重复”CoreData不会为你提供在一次获取中复制的相同对象。因此,看起来有40个这样的对象与您的查询相匹配。为什么你认为应该有5个呢?所以我做了更多的调查,发现还有1%的不确定性,解决了这个问题。我应该删除我的问题还是什么?