Jam*_*B41 3 model-view-controller objective-c uiviewcontroller uiview ios
我创建了一个UIViewController包含我已经构建的自定义类的视图.我已将视图连接到文件的所有者视图插座.它渲染得恰到好处,我没有任何实际问题.但是,我想从我的视图控制器实例中调用我视图中的方法,比如说它被调用drawSomething.所以在我的控制器中的方法中,我使用:
[self.view drawSomething];
Run Code Online (Sandbox Code Playgroud)
有用.但是我得到了一个预编译器警告,因为它似乎不知道我的自定义视图定义中的方法.我的方法在这里错了吗?我可以创建一个局部变量并投射它以使警告显然消失.我导入了视图的头文件,所以这不是问题.
我觉得我错过了一些微不足道的东西.
我的自定义视图的.h包含:
-(void) drawSomething;
Run Code Online (Sandbox Code Playgroud)
我的自定义视图的.m包含:
-(void) drawSomething { <code> };
Run Code Online (Sandbox Code Playgroud)
Eva*_*ski 12
self.view基本上是指向UIView用作视图控制器主视图的指针.由于您的视图是使用自定义方法的自定义类,因此您需要对自定义类进行强制转换以调用自定义方法:
[((MyCustomClass *)self.view) drawSomething];
Run Code Online (Sandbox Code Playgroud)
否则,您正在调用不存在drawSomething的标准UIView.
| 归档时间: |
|
| 查看次数: |
3885 次 |
| 最近记录: |