背景
我有 2 个表视图,第一个是主表,第二个是收藏夹表。
一切都用 plist 处理。
从第一个表的 detailView 中,我在右上角设置了一个按钮,将值 YES 写入 plist。
plist 的结构是这样的:
Section 1 Dictionary
Title String
Rows Array
Item 0 Dictionary
name String
description String
image String
isFav Bool (default NO)
Item 1 Dictionary
name String
description String
image String
isFav Bool (default NO)
Section 2
Title
Rows
Item 0 Dictionary
name String
description String
image String
isFav Bool (default NO)
etc..
添加一个关于它应该如何工作的小计划:
firstTable detailView plist
__________ ________
| | | |★ |<- button pressed ---> cellname isFav = YES
|__________| | |
|cellname | ------>| detail |
|__________| | |
| | | |
| | | |
问题
现在我有了那个按钮,我正在尝试编写一个方法来将 isFav 布尔值写入 plist。
-(void)makeFavorite
我已经有了读取 plist 的方法,但我不知道如何在上面写一个值。我试图在谷歌上搜索并阅读其他 stackOverflow 帖子,但我无法弄清楚。任何帮助表示赞赏!
编辑
这是阅读plist的方法
- (NSArray*)readPlist
{
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *plistPath = [[documentPaths lastObject] stringByAppendingPathComponent:@"tipsList.plist"];
NSFileManager *fMgr = [NSFileManager defaultManager];
if (![fMgr fileExistsAtPath:plistPath]) {
plistPath = [[NSBundle mainBundle] pathForResource:@"tipsList" ofType:@"plist"];
}
return [NSArray dictionaryWithContentsOfFile:plistPath];
}
在我输入的方法中:
- (void) makeFavorite:(id)sender
{
NSArray *test = [self readPlist];
NSLog (@"test: %@",test);
//write plist instructions then
}