委托方法上SWRevealViewController
不工作,我想刷新我的幻灯片菜单上的主要观点做了选择方法与断然委托方法上SWRevealViewController
我已经使用SWRevealViewController加载我的幻灯片菜单和其工作正常,但我无法理解如何委托分配给滑动菜单控制器并使用它?
这里是the link由约翰lusch真棒库
滑动菜单或者Controller.h
@protocol SlideViewControllerDelegate
@required
-(void)menuViewControllerDidFinishWithCategoryId:(NSInteger)categoryId;
@end
@interface SlideViewController :
UIViewController<UITableViewDataSource,UITableViewDelegate>
{
__weak id<SlideViewControllerDelegate> slideDelegate;
}
@property (nonatomic, weak) id <SlideViewControllerDelegate> slideDelegate;
@end
滑动菜单Controller.m或者
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self.slideDelegate menuViewControllerDidFinishWithCategoryId:indexPath.row];
}
viewController.h
@interface ViewController : UIViewController<UITableViewDataSource,UITableViewDelegate,SlideViewControllerDelegate>
viewController.m
在我看来做负载方法
SlideViewController *slideView = [[SlideViewController alloc]init];
slideView.slideDelegate = self;
- (void)menuViewControllerDidFinishWithCategoryId:(NSInteger)categoryId
{
self.categId = [catIdArray objectAtIndex:categoryId];
NSLog(@"cat id %@",categId);
[self getQuestions];
[self.feedTableView reloadData];
}
//登录上述从不执行 ,所以我想可能是我错的swreveal视图控制器滑动菜单指派代表
得到了它的委托设置为显示控制器做这样
[(SlideViewController *)self.revealViewController.rearViewController setSlideDelegate:self];
你是否实际添加了这部分代码。 – iOSDeveloper
在设置slideDelegate之后,我在viewdidload方法中完成了此操作。 –
对不起,我没有让你...查看没有载入slideMenu视图控制器或视图控制器? – iOSDeveloper
也许你应该
- (id)initWithRearViewController:(UIViewController *)rearViewController frontViewController:(UIViewController *)frontViewController;
它说,在初始化SlideViewController
0。
我想刷新我的幻灯片菜单上的主视图做类别ID选择方法。只是看到我的代码知道我在这里尝试 –
删除线:
{
__weak id<SlideViewControllerDelegate> slideDelegate;
}
你的财产:
@property (nonatomic, weak) id <SlideViewControllerDelegate> slideDelegate;
它是足够多的。
你有没有试图把幻灯片菜单控制断点(调用委托前)?代表是否与正确的实例一致? –
我不明白你的关注? –
在你的控制器中你有方法“ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath”。你在那里调用“[self.slideDelegate menuViewControllerDidFinishWithCategoryId:indexPath.row];”。在调用此方法之前,先放置一个断点,以便检查委托的值以了解它是否为零 –