我已經搜索了類似的問題,但我不明白爲什麼這不起作用。我現在做了一些教程和教程項目的工作,但我做的一切都是一樣的,沒有結果。簡單的代理方法不叫
我有我的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];
}
我稱之爲AccordionVC此方法在didSelectRowAtIndexPath方法是這樣的:
. . .
self.articles = [sortedArticles mutableCopy];
[self.delegate selectedFilter:self.articles];
. . .
謝謝。將添加任何需要的東西
你在哪裏設置委託? – Cutetare
你在哪裏設置self.delegate? //編輯:Cutetare在我之前說的9秒! :) – mc01