我正在使用SWRevealViewController来获取侧边菜单,以根据用户当前所在的标签显示不同的内容。我在AppDelegate
中的被叫位置创建了一个全局变量,以找出用户所在的位置。对于我的侧边栏,我正在使用此条件来更改内容:
- (void)viewWillAppear:(BOOL)animated {
[super viewDidAppear:animated];
AppDelegate *del=(AppDelegate*)[[UIApplication sharedApplication] delegate];
if ([del.location isEqualToString: @"Secure"]){
self.menu = [NSMutableArray
arrayWithObjects:@"secure1",@"secure2",@"secure3",@"secure4",@"secure5", nil];
self.menu2 = [NSMutableArray
arrayWithObjects:@"s1",@"s2",@"s3",nil];
NSLog(@"THIS IS %@ menu",del.location);
}
else if ([del.location isEqualToString: @"Employee"]){
self.menu = [NSMutableArray
arrayWithObjects:@"emp1",@"emp2",@"emp3",@"emp4",@"emp5",@"emp6", nil];
self.menu2 = [NSMutableArray
arrayWithObjects:@"e1",@"e2",@"e3",nil];
NSLog(@"THIS IS %@ menu",del.location);
}
else if ([del.location isEqualToString: @"Patient"]){
self.menu = [NSMutableArray
arrayWithObjects:@"patient1",@"patient2",@"patient3",@"patient4",@"patient5",@"patient6", nil];
self.menu2 = [NSMutableArray
arrayWithObjects:@"p1",nil];
NSLog(@"THIS IS %@ menu",del.location);
}
}
似乎工作正常,NSLog
语句都正确,但菜单和menu2的内容仍然没有改变。我哪里错了?
答案 0 :(得分:0)
我没有添加
[self.tableView reload];
关闭if语句后,将其添加到cellForRowAtIndexPath(这会导致单元格不断重新加载,而不是表格 - 如果我的理解是正确的。)
关闭我的if语句并在问题解决后,在viewWillAppear
中添加了它。
感谢Anbu.Karthik
指出它!