来自其他类的类的对象访问UIView iOS Objective-c

时间:2017-05-04 10:22:17

标签: ios objective-c object view hidden

ClassA *a = [[ClassA alloc] initWithNibName:@"classA" bundle:nil];                                                          a.viewInClassA.hidden = NO;

当我运行此代码时,a.viewInClassA.hidden = NO不会产生任何影响请帮助

2 个答案:

答案 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中读取属性并使用它来隐藏或显示视图。

相关问题