【问题标题】:Can i call a method inside a class(subclass of UIView) from another class?我可以从另一个类调用一个类(UIView 的子类)中的方法吗?
【发布时间】:2011-04-08 16:32:53
【问题描述】:

这有点奇怪,但我无法调用类中定义的任何方法(具有 drawRect 方法)。
这就是我在 UIviewcontroller 类中使用 nib for UI 所做的事情:

-(void)viewDidLoad {
    [self.lineVar Start];
}

lineVar 是类(UIview 的子类)的对象,具有 Start 函数。

-(void)Start {
    NSLog(@"Hi...");
}

我从来没有看到日志消息。

我已将 Class with Start 方法分配给一个视图,该视图使用带有 nib 文件的 UIviewcontroller 类占据屏幕的某些部分。

我希望每次访问视图(uiview 的子类)时都调用一个方法。
它只有第一次调用的 awakeFromNib。 viewdidLoad 可以做到这一点,但默认情况下它不存在。

谢谢

【问题讨论】:

    标签: iphone objective-c uiview


    【解决方案1】:

    确保调用 Start 时 self.lineVar 不为零。如果它静默失败,那可能就是问题所在。您可能忘记连接 NIB 中的 lineVar 插座。

    【讨论】:

    • 是 self.lineVar 是 0x0 ...但 lineVar 不是 IBOutlet 类型。我已将其声明为 DrawView *lineVar; ....所以我不确定如何在NIB中连接它
    • 像这样声明属性:@property (nonatomic, retain) IBOutlet DrawView *lineVar;。然后你应该会在 NIB 中看到插座。
    • 非常感谢您的工作...我不知道需要在NIB中连接对象插座...谢谢
    猜你喜欢
    • 1970-01-01
    • 2011-02-02
    • 2023-02-20
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    • 1970-01-01
    相关资源
    最近更新 更多