Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 为什么找不到我的方法?_Objective C - Fatal编程技术网

Objective c 为什么找不到我的方法?

Objective c 为什么找不到我的方法?,objective-c,Objective C,我的SecondViewController:UIViewController -(id) initWithFirstViewController:(FirstViewController *)theFirstViewController { self = [super init]; fvc = theFirstViewController; return self; } 所以在我的FirstViewController中,我用FirstViewCo

我的
SecondViewController:UIViewController

-(id) initWithFirstViewController:(FirstViewController *)theFirstViewController
{
    self = [super init];

    fvc = theFirstViewController;     

    return self;   
}
所以在我的
FirstViewController
中,我用
FirstViewController
的一个实例作为参数调用这个init方法。在
SecondViewController
中的其他地方,我使用以下传递的输入:

[fvc setSomething];
已执行该方法,但我收到一条警告:

方法
-未找到setSomething
(返回类型默认为
id


如何修复此问题?

在这种情况下,需要导入相应的
.h
文件,以便编译器了解此方法


此外,您应该保留FirstViewController,因为它很可能被释放,并且在完全相同的内存位置(fvc仍然指向该位置)创建了不同的对象。因此,您应该执行
fvc=[theFirstViewController retain]当您“抓住”第一个视图控制器时(您希望稍后使用它)。不要忘记在您的
dealoc
中释放它。在这种情况下,只需导入相应的
.h
文件,编译器就可以知道该方法


此外,您应该保留FirstViewController,因为它很可能被释放,并且在完全相同的内存位置(fvc仍然指向该位置)创建了不同的对象。因此,您应该执行
fvc=[theFirstViewController retain]当您“抓住”第一个视图控制器时(您希望稍后使用它)。不要忘记在您的
dealloc

中释放它,请引用完整的错误消息(它说明方法调用发送到了哪种类型的对象)。另外,FirstViewController是否真的有
setSomething
方法?它说的是“语义问题”,并准确地显示我在问题中发布的警告,该方法存在并已执行,因此这是编译时错误,而不是运行时错误?回到我的问题,
FirstViewController
是否实际实现了该方法?您是否已经导入了相应的
.h
文件,其中定义了该文件?谢谢,导入帮助的最后一件事,FirstViewController没有导入,您可以将其添加到您的回答plz中吗。然而,我删除了导入前一段时间,因为我有一些麻烦与递归导入…编辑了答案。祝您有个美好的一天!请引用完整的错误消息(说明方法调用发送到的对象类型)。另外,FirstViewController是否真的有
setSomething
方法?它说的是“语义问题”,并准确地显示我在问题中发布的警告,该方法存在并已执行,因此这是编译时错误,而不是运行时错误?回到我的问题,
FirstViewController
是否实际实现了该方法?您是否已经导入了相应的
.h
文件,其中定义了该文件?谢谢,导入帮助的最后一件事,FirstViewController没有导入,您可以将其添加到您的回答plz中吗。然而,我删除了导入前一段时间,因为我有一些麻烦与递归导入…编辑了答案。祝您有个美好的一天!