我有一个包含Feed UITableViewController
的应用原型。
填充此Feed的数据来自我的模型,我在其中定义了使用以下数据结构预填充的Feed类:
NSArray* data = @[@{const1:@"NSString1 for const1", const2:@"NSString1 for const2"},@{const1:@"NSString2 for const1", const2:@"NSString2 for const2"}, ..., @{const1:@"NSStringN for const1", const2:@"NSStringN for const2"}]; (total of N pairs of (const1, const2))
我创建了一个幻灯片菜单视图控制器,它也是根据我的数据模型动态填充的。因此我定义了一个slideOutMenuItems类,我也使用以下数据结构预先填充:
NSArray* data = @[@"MenuItem1", @"MenuItem2", @"MenuItem3",... @"MenuItemP"]; (Total of P menu items)
当用户从滑出菜单中选择菜单项时,我想动态传递菜单项字符串(@" MenuItemM"如果用户点击了行号M)根据我的feed数组的const1 NSString组件与@" MenuItemM"匹配来过滤掉我的feed。的NSString。
为此,在我的幻灯片菜单视图控制器中,在prepareforsegue方法中,我尝试了以下内容:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Pass string based on SlideOutMenu cell selected to filter out feed
if([segue.identifier isEqualToString:@"Filter_MenuItem"]) {
FeedVCTableViewController* flameVCTableViewController = (FeedVCTableViewController*) segue.destinationViewController;
NSIndexPath* indexPath = [self.tableView indexPathForCell:sender];
NSString *menuItem = [self.slideOutMenuItems menuItemAtIndex:indexPath.row];
NSPredicate *pred =[NSPredicate predicateWithFormat:@"name beginswith[c] %@", menuItem];
flameVCTableViewController.feed = [[Feed prepopulatedFeed] filteredArrayUsingPredicate:pred];
}
}
但是我在上面的最后一行代码中收到以下错误消息:
"No visible @interface for Feed declares the selector filteredArrayUsingPredicate".