Iphone 在UIViewController中调用函数';UIS视图

Iphone 在UIViewController中调用函数';UIS视图,iphone,uiview,uiviewcontroller,Iphone,Uiview,Uiviewcontroller,我已经使用interface builder创建了一个视图控制器和关联视图。我试图调用从UIViewController添加到UIView的函数。但我不知道如何调用该函数 我试过了 [self.view myFunction] 但这只会使我的程序崩溃。视图是如何初始化的?它是自定义视图类型吗?如果您的视图是从nib初始化的,请确保视图类型上的类是实现了该方法的类。您是否声明了IB出口并将该方法连接到它 应该将视图(更准确地说是nib)的文件所有者设置为viewController类 除非调用

我已经使用interface builder创建了一个视图控制器和关联视图。我试图调用从UIViewController添加到UIView的函数。但我不知道如何调用该函数

我试过了

 [self.view myFunction]

但这只会使我的程序崩溃。

视图是如何初始化的?它是自定义视图类型吗?如果您的视图是从nib初始化的,请确保视图类型上的类是实现了该方法的类。

您是否声明了IB出口并将该方法连接到它

应该将视图(更准确地说是nib)的文件所有者设置为viewController类

除非调用绘图函数和方法,否则不应在视图上调用任何东西。你不需要这么做


编辑:语法更正。

它可能会崩溃,因为UIView没有名为myFunction的方法。为了将myFunction添加到UIView对象,需要对其进行子类化

我假设您已经对UIView进行了子类化,并将其称为类似于MyView的东西。您可能还对UIViewController进行了子类化,并将其命名为MyUIViewController。因此,您可能有:

@interface MyViewController : UIViewController {
    MyView  *myView;
....
}
现在可以调用[self.myView myFunction]

这是一种方式。另一种方式可能是:

[(MyView *)self.view myFunction];  

这取决于myView是层次结构中的第一个视图(还是应该在NIB文件中设置)。

该视图是我在drawRect函数中编写的自定义代码,并向其添加了另一个函数myFunction。它正在由nib初始化。你在最后一部分把我弄丢了。你能把错误发出去吗?有比“崩溃”更详细的信息会有帮助。我尝试了最后一个建议,结果它崩溃了。以下是控制台输出:[HikerViewController]刷新位置按下2009-10-19 20:58:47.082 UINavigationControllerWithToolbar[18268:207]***-[UIView drawGraph::]:未识别的选择器发送到实例0x3b0faa0 2009-10-19 20:58:47.083 UINavigationControllerWithToolbar[18268:207]***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'***-[UIView drawGraph::]:发送到实例0x3b0faa0的未识别选择器'2009-10-19 20:58:47.085 UINavigationController WithToolbar[18268:207]我知道如何使IBOutlet指向UIView,但如何将出口指向方法?这是我的viewcontroller中的内容。IBMOutlet MyView*view1;然后调用我拥有的方法[view1 myMethod];但这没有任何作用。忘记在interface builder中建立连接。现在可以工作了,谢谢!