将收藏夹功能添加到 iPhone App iphone sdk
Posted
技术标签:
【中文标题】将收藏夹功能添加到 iPhone App iphone sdk【英文标题】:adding favorites feature to iPhone App iphone sdk 【发布时间】:2010-11-02 18:55:54 【问题描述】:我想添加一个像这样工作的自动收藏功能:
我有一个带有单元格名称和未选中星号的详细视图。用户点击未选中的星号,选中星号并将特定单元格名称添加到另一个视图。在任何时候,用户都可以转到详细视图并再次点击星号,星号将变为未选中状态,并且单元格名称将从另一个视图中删除。
我想用一个自定义按钮作为星号,用一个表格视图作为另一个视图。 最好使用 IBAction 或 IBOutlet。
detailView 中按钮的代码
-(IBAction)toggleFav:(UIButton *)sender
if([sender isSelected])
//...
[sender setSelected:NO];
NSMutableArray *array = [[[NSUserDefaults standardUserDefaults] objectForKey:@"valueSaver"] mutableCopy];
[array removeObject:[NSString stringWithString:self.selectedSushi]];
[[NSUserDefaults standardUserDefaults] setObject:array forKey:@"valueSaver"];
[array release];
else
//...
[sender setSelected:YES];
NSMutableArray *array = [[[NSUserDefaults standardUserDefaults] objectForKey:@"valueSaver"] mutableCopy];
[array addObject:[NSString stringWithString:self.selectedSushi]];
[[NSUserDefaults standardUserDefaults] setObject:array forKey:@"valueSaver"];
[array release];
【问题讨论】:
您可以为 UIButton 设置自定义图像。您将希望有 2 个不同的图像用于选中和未选中。 iboutlet没问题 【参考方案1】:代表团是你的朋友:
为该详细视图编写一个控制器,用于保存星形。 此控制器有一个id<AProtocolDefindeByYou> delegate
类型的委托成员。
在协议声明中,您可以使用informOfCheckTriggeredOnStar:
和informOfUnCheckTriggeredOnStar:
等方法
您在收藏夹视图的控制器中实现此委托方法,并将此控制器设置为每个详细视图的委托。
Delegation & Protocols
编辑 Quick'n'Dirty — 我为你写了一个小的sample code。它非常粗糙而且不好看,但它展示了它是如何工作的。
【讨论】:
当我运行 vscheck 收藏夹的示例代码时,它失败并出现 3 个错误和 4 个警告 showFavoritesTableViewController not found,并访问未知组件 tableView。 再试一次。我忘了添加一些文件 如何使我最喜欢的按钮突出显示,以便当用户再次点击它时它会熄灭。 我真的不明白你的问题。你最好用一些描述和代码提出一个新问题。 您可以将诸如单元格 indexPathes 之类的内容保存在数组中,并将其保存在 NSUserDefaults 中。一旦你创建了你检查的单元格,如果 indexPath 在选定的列表中。不要忘记投票。以上是关于将收藏夹功能添加到 iPhone App iphone sdk的主要内容,如果未能解决你的问题,请参考以下文章
iPhone终极隐藏功能连苹果客服唔知都O晒嘴!实用到爆,广州人速度收藏啦!
如何将按钮样式的单元格添加到 iPhone 应用程序的表格视图中?
iPhone隐藏最深小技巧,连苹果客服都看懵了,广州人快收藏!