Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.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中以前是否从通讯簿中选择了一个人?_Ios_Iphone_Objective C - Fatal编程技术网

我如何检查在iOS中以前是否从通讯簿中选择了一个人?

我如何检查在iOS中以前是否从通讯簿中选择了一个人?,ios,iphone,objective-c,Ios,Iphone,Objective C,我正在构建一个应用程序,它依赖于从通讯簿中选择联系人,并将他们的信息添加到NSMutableArray。我只希望每个人都被选中一次,所以我希望有能力将已经被选中的人灰色化。我不知道去哪里看。有人能给我指出正确的方向吗?你应该保留一份已选择用户的列表。例如,您可以将它们保存到CoreData store、SQLite表、plist文件等中。要将当前选定的用户与列表中已有的用户进行比较,您需要为每个用户提供一些唯一的标识符。在大多数情况下,将用户ID存储在列表中就足够了,而不是整个实体。好的,那么在

我正在构建一个应用程序,它依赖于从通讯簿中选择联系人,并将他们的信息添加到NSMutableArray。我只希望每个人都被选中一次,所以我希望有能力将已经被选中的人灰色化。我不知道去哪里看。有人能给我指出正确的方向吗?

你应该保留一份已选择用户的列表。例如,您可以将它们保存到CoreData store、SQLite表、plist文件等中。要将当前选定的用户与列表中已有的用户进行比较,您需要为每个用户提供一些唯一的标识符。在大多数情况下,将用户ID存储在列表中就足够了,而不是整个实体。

好的,那么在加载联系人时,有没有一种方法可以调用它来比较联系人并将其置灰?或者我必须创建自己的解决方案吗?当然,iOS SDK并不包含所有场合的现成解决方案。您应该创建自己的数据存储并编写代码以满足您的需要。我以前从未使用过数据存储。在这种情况下,是否有理由将其用于NSDictionary?我的意思是,我只存储了用于查找的值,对吗?
NSDictionary
将允许检查所选用户是否已添加到列表中。但是,如果你想在应用程序发布之间保留此列表,你需要将
NSDictionary
写入某个文件,然后在每次应用程序发布时从该文件中读取。啊,这很有意义。好吧,我想我必须从plists那里学习如何写作和阅读!一旦我记下来,我就必须弄清楚如何将这些值与地址簿进行比较,并将选择变灰。