我搜索过类似的问题,但我无法理解为什么这不起作用。我现在按照教程和教程项目的所有工作完成了所有工作,但是我做的一切都完全一样,没有结果。
我的InboxViewController包含表格视图和文章列表。我有另一个视图(AccordionViewController.h),我可以选择按日期或评级排序。
这是第二个控制器:AccordionViewController.h
@protocol OptionSelectionDelegate <NSObject>
-(void)selectedFilter:(NSMutableArray *)articles;
@end
@interface AccordionTableViewController : UITableViewController {
NSArray *topItems;
NSMutableArray *subItems; // array of arrays
NSInteger currentExpandedIndex;
}
@property (nonatomic, strong) NSMutableArray* articles;
@property (nonatomic, weak) id<OptionSelectionDelegate> delegate;
@end
在InboxViewController.m中我做了:
@interface InboxViewController () <UITableViewDelegate, UITableViewDataSource, UINavigationControllerDelegate, OptionSelectionDelegate>
. . .
#pragma mark - State Selection Delegate
-(void)selectedFilter:(NSMutableArray *)articles1
{
self.articles = articles1;
for (int i=0; i<self.articles.count; i++) {
Article* a = [self.articles objectAtIndex:i];
NSLog(@"Inbox Sorted Array 1: %d - %@",i, a.date);
}
[self.tableView reloadData];
}
我在didSelectRowAtIndexPath中的AccordionVC中调用此方法,如下所示:
. . .
self.articles = [sortedArticles mutableCopy];
[self.delegate selectedFilter:self.articles];
. . .
谢谢。将添加任何所需的东西。
答案 0 :(得分:0)
在AccordionVC中,您错过了一行:
self.delegate = .. //some reference to a InboxViewController