Objective c中不同类之间的方法调用

时间:2009-09-30 05:44:17

标签: objective-c methods

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

2 个答案:

答案 0 :(得分: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,则会收到警告,那么你最终可能会遇到崩溃(取决于如何你设置了编译器标志,但我相信默认你会崩溃。

答案 1 :(得分:0)

你可能想做一些类似于另一个问题的答案中所说的内容:

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