【问题标题】:how to let view controller know its view's class?如何让视图控制器知道它的视图类?
【发布时间】:2011-10-28 13:41:22
【问题描述】:

我创建了一个新的自定义视图类(UIView 的子类)并在界面生成器中更改了视图的类。但是,似乎 Xcode 和编译器都不知道我的视图控制器的视图已更改类。

例如,我的自定义视图中有一个选择器:-(void) changeShape 我尝试在我的视图控制器 [self.view changeShape] 中调用,没有自动完成功能,编译器会产生“视图可能无法响应 changeShape”的警告。

该应用程序在模拟器中运行没有问题。

我想知道如何正确地让编译器知道视图的类已更改?

谢谢

狮子座

【问题讨论】:

  • 能否请您发布您的方法声明和定义?
  • 也许尝试清理目标,因为听起来有点奇怪,我已经做到了没有问题。
  • 要知道视图类使用此代码NSString *className = NSStringFromClass([self.view class]); 但我想这对你的目标没用,只需投射类型[(MyView*)self.view changeShape];

标签: iphone objective-c xcode cocoa-touch ipad


【解决方案1】:

一个简单的解决方案是对 self.view 进行类型转换:[(YourViewClass *)self.view changeShape] 确保你也导入了 YourViewClass 的头文件,编译器不应该给你警告。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-10
    • 2012-02-14
    • 2010-12-11
    相关资源
    最近更新 更多