Ipad 从popover控制器调用modalview的方法

Ipad 从popover控制器调用modalview的方法,ipad,uisplitviewcontroller,uipopovercontroller,modalviewcontroller,Ipad,Uisplitviewcontroller,Uipopovercontroller,Modalviewcontroller,我有一个由splitviewcontroller组成的iPad应用程序-从splitview的Detail视图中,我打开一个ModalViewController ArbyViewController,它有一个按钮,显示带有选择器的popoverRadiusViewController。这很好,但是当我在选择器中选择一个值时,我想在modalview控制器上调用一个方法,但我不知道如何做 我的NearbyViewController导入RadiusViewController.h,因为我访问Ra

我有一个由splitviewcontroller组成的iPad应用程序-从splitview的Detail视图中,我打开一个ModalViewController ArbyViewController,它有一个按钮,显示带有选择器的popoverRadiusViewController。这很好,但是当我在选择器中选择一个值时,我想在modalview控制器上调用一个方法,但我不知道如何做


我的NearbyViewController导入RadiusViewController.h,因为我访问RadiusViewController中的某些数据,但我还需要能够将数据从RadiusViewController发送回NearbyViewController,但是如果我在RadiusView中导入NearbyViewController.h文件,则由于它们试图相互导入而导致编译错误。

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

@class ClassName;
就这么简单

编辑:更全面的解释:

通常在.h文件中,不需要知道类的方法和属性。您只需告诉编译器有一个名为ClassName的类。此时,编译器不需要知道关于该类的任何其他信息。在.m文件中,您需要知道该类的方法和属性,否则将无法使用它。因此,在.m文件中导入该类

我想说清楚:

// SomeClass.h
@class ClassName;

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

这称为远期申报。你可以通过谷歌来了解更多或者阅读一本关于编程的介绍性书籍。这是一个非常基本的编程概念,学习它很重要。

我已经尝试过了,但效果并不理想。它可以很好地看到这个类,但它不能识别我在该类中声明的任何方法或实例变量。但是如果我包含头文件,它就可以识别方法和变量,所以使用@class name;时会有所不同@Milk78您所描述的正是@class和import的工作原理。也许我应该更新我的答案来进一步解释它。非常感谢添加的解释:可怕的是我已经开发了10年,我在appstore中有5个应用程序,但我不知道转发声明的细节-也许是时候学习它了:D