从弹出控制器调用modalview的方法

时间:2011-03-29 13:20:14

标签: ipad uisplitviewcontroller uipopovercontroller modalviewcontroller

我有一个由splitviewcontroller组成的iPad应用程序 - 从splitview的详细视图中我打开一个modalviewcontroller(NearbyViewController),它有一个显示带有选择器的弹出窗口(RadiusViewController)的按钮。这工作得很好,但是当我在选择器中选择一个值时,我想在模态视图控制器上调用一个方法,但我无法弄清楚如何做到这一点?

我的“NearbyViewController”导入“RadiusViewController.h”,因为我访问“RadiusViewController”中的某些数据,但我还需要能够将数据从RadiusViewController发送回NearbyViewController,但是如果我导入了NearbyViewController.h在RadiusView中的文件,然后我得到编译错误,因为他们试图导入彼此。

1 个答案:

答案 0 :(得分:1)

这是一个常见问题,很容易解决。解决方案只是简单地在.m文件中进行导入。如果您需要在.h文件中知道类型,则只需使用前向声明。

@class ClassName;

就这么简单。

编辑:更全面的解释:

通常在.h文件中,不需要知道类的方法和属性。您需要做的就是告诉编译器有一个名为ClassName的类。编译器不需要知道关于该类的任何其他内容。在.m文件中,您需要知道该类的方法和属性,否则您将无法使用它。所以在.m文件中导入类。

要明确:

// SomeClass.h
@class ClassName;

// SomeClass.m
#import "ClassName.h"

这称为前向声明。您可以谷歌它来了解更多信息或阅读有关编程的入门书籍。这是一个非常基本的编程概念,重要的是你要学习它。