0

我使用 CNMutableGroup 创建了一个组,在创建时,该组的标识符是:

 A9A00074-CA8F-4EA4-8E76-F26C37CB49B4:ABGroup

我把它保存在 NSUserDefaults 中。

文档说:

建议您在重新获取组时使用标识符。标识符可以在应用程序启动之间保持不变。

如何使用此标识符来获取组?

如果我做:

    CNMutableGroup *group = [CNMutableGroup new];
    group.name=kGroup;

即使组名相同,这也会创建一个新标识符。

我无法设置标识符,因为它是只读的。

我试过了:

 NSPredicate *predicate = [CNGroup predicateForGroupsInContainerWithIdentifier:[[NSUserDefaults standardUserDefaults]objectForKey:@"groupIDentifier"]];
 NSArray *groups = [store groupsMatchingPredicate:predicate error:&saveError];

组为零。

如何使用标识符访问组?

4

1 回答 1

1

我不知道为什么,但predicateForGroupsWithIdentifiers对我有用:

NSPredicate *predicate = [CNGroup predicateForGroupsWithIdentifiers:@[[[NSUserDefaults standardUserDefaults]objectForKey:@"groupIDentifier"]]];
NSArray *groups = [store groupsMatchingPredicate:predicate error:&saveError];
于 2017-10-08T03:13:54.933 回答