ClassA *a = [[ClassA alloc] initWithNibName:@"classA" bundle:nil];
a.viewInClassA.hidden = NO;
当我运行此代码时,a.viewInClassA.hidden = NO不会产生任何影响请帮助
答案 0 :(得分:1)
这是因为你正在创建一个你没有参考的新课程。因此,创建该类的属性并在另一个类中传递类c的引用,然后您可以使用该属性隐藏
例如,在ClassA中,您有tableview。
将它放在ClassA.h文件中
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateFormatted = df.format(new Date());
Date date = df.parse(dateFormatted);
从classB.h文件中获取classA的属性
@property (weak, nonatomic) IBOutlet UITableView *tableview;
然后在classb.m中隐藏表视图,写下这个
@property (Strong, nonatomic) classA *classAObject;
当你打开classB传递classA引用
时self.classAObject.tableview.hidden = YES;
答案 1 :(得分:0)
请勿尝试操纵其他视图控制器视图。这违反了封装原则。这是糟糕的设计,有时会失败,就像你的情况一样。
而是向ClassA视图控制器添加一个属性,告知您的视图是否应该隐藏。在ClassA视图控制器的viewWillAppear中读取属性并使用它来隐藏或显示视图。