【问题标题】:How to call a simple method declared in same ViewController?如何调用在同一个 ViewController 中声明的简单方法?
【发布时间】:2011-09-05 16:52:02
【问题描述】:

我在视图控制器中声明了一个方法:

-(void)rqst_run{
     // method login here
}

当我在 [super viewDidLoad] 之后的 ViewDidLoad 方法中编写下面的代码(在同一个文件中)时;

[self rqst_run];

我收到此错误:

Method '-rqst_run' not found (return type defaults to 'id')

知道如何解决这个问题吗?

提前谢谢

斯蒂芬

【问题讨论】:

  • 这是一个编译器错误,对吧?你在.h文件中声明了rqst_run方法了吗?
  • 我意识到我看错了 - 当你说错误时,你实际上是指警告(可能被 -Werror 变成错误)吗?

标签: iphone ios ios4 uiviewcontroller


【解决方案1】:

方法需要在使用前声明。

您可以通过以下两种方式之一解决您的问题:

  • 将 rqst_run 的声明移到 viewDidLoad 的声明之前
  • 在@interface 部分为您的类声明 rqst_run(在 .h 中或在 .m 中的类延续)

第二个是最好的,例如,您可以在 .m 顶部添加类似于以下内容的内容

@interface MyClass()
- (void) rqst_run;
@end

如果你不熟悉类延续的概念,this page 提供了一个合理的总结;本质上,.m 中的 @interface 部分用于声明您希望保留在“公共接口”(即 .h)之外的声明

【讨论】:

  • 是的,我明白了!我有一些 PHP 的坏习惯...谢谢!!
猜你喜欢
  • 1970-01-01
  • 2017-02-07
  • 1970-01-01
  • 1970-01-01
  • 2015-07-05
  • 2013-08-01
  • 1970-01-01
  • 2018-04-27
  • 2021-05-28
相关资源
最近更新 更多