如何在NSUserDefaults中存储NSMutableIndexSet?

时间:2014-03-11 15:24:54

标签: iphone ios7 xcode5 nsuserdefaults

目前我在NSMutableIndexSet

中保存了书签
- (BOOL)saveBookmark
{
if (!bookmarkIndex) {
    bookmarkIndex = [NSMutableIndexSet indexSet];
}
if (currentIndex) {
    [bookmarkIndex addIndex:currentIndex];
    return [bookmarkIndex containsIndex:currentIndex];
}
return NO;
}

但是当我退出应用程序并返回检查书签时,书签就没有显示出来了。

考虑在NSUserDefaults中存储书签。

是否可以将NSMutableIndexSet存储在NSUserDefaults中,或者只有NSMutableArray可以保存在NSUserDefaults中。

是否存在NSMutableIndexSet中存储NSUserDefaults的任何示例?

感谢帮助。

由于

1 个答案:

答案 0 :(得分:1)

NSUserDefaults中,您可以存储的是属性列表。在这里阅读更多关于他们的信息:

https://developer.apple.com/Library/ios/documentation/Cocoa/Conceptual/PropertyLists/AboutPropertyLists/AboutPropertyLists.html#//apple_ref/doc/uid/10000048i-CH3-54303

如您所见,您无法将NSIndexSet存储在属性列表中,因此您需要使用NSArrayNSDictionary。我没有看到你为什么不能存储数组的原因。

请参阅下面的答案,了解如何将索引编入数组: