【问题标题】:method call between different class in Objective cObjective c中不同类之间的方法调用
【发布时间】:2009-09-30 05:44:16
【问题描述】:

是否可以从一个类调用方法到另一个类 其中两个类来自两个不同的父类。假设一个来自 UIImage 类和另一个来自 UIViewController 类?

【问题讨论】:

  • 请稍微澄清一下您的问题。您只是在问如何调用实例的方法吗?
  • 我知道答案是肯定的,我只是不明白这个问题。请提供一个更充实的示例,您是否暗示多重继承?
  • 是的,我在问实例方法。请有人用例子给我一些解释。
  • Uhhmmm 你这样做[object method:argument],调整这个例子以适应你打算调用的实际方法。

标签: objective-c methods


【解决方案1】:

是的,Objective-C 的一个很酷的地方是你可以在任何对象上调用方法,即使它没有响应。尽管不如 Objective-C 的父亲 SmallTalk 强大(是的,SmallTalk 是父亲,C 是母亲,别问了),但它仍然非常强大。所以假设你有这样的东西:

- (void)doSomethingToThis: (id)thisObject { [thisObject doSomething]; }

然后……

//... UIImage *thisImage = ... UIViewController *thisController = ... [self doSomethingToThis: thisImage]; [self doSomethingToThis: thisController]; //...

这样的东西可以编译得很好,但是如果UIImageUIViewController 都没有响应doSomething,那么你可能会得到一个崩溃(取决于你如何设置编译器标志) ,但我相信默认情况下你会崩溃)。

【讨论】:

  • 不错的答案,但我不确定这是该问题的正确答案。哎呀,我不知道问题是什么。
【解决方案2】:

您可能想做类似另一个问题的答案中所说的事情:

Objective-C : Call a method from another class in addTarget:action:forControlEvents

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 2012-02-09
    • 1970-01-01
    • 1970-01-01
    • 2012-12-12
    • 2019-02-28
    • 1970-01-01
    相关资源
    最近更新 更多