这听起来很荒谬但不起作用。有人能看到我错过的东西吗?
我有一个ViewController,我在其中定义了一个名为ProcessData的函数。我试图从viewDidLoad函数调用ProcessData,但它没有看到它。我在.h文件中声明它,然后在.m文件中定义它。这是代码。
ViewController.h @interface ViewController:UIViewController
- (void) ProcessData: (NSString *)response;
@end
ViewController.m
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
[ProcessData nil];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void) ProcessData: (NSString *)response
{
}
@end
答案 0 :(得分:1)
要调用类/静态函数,必须编写
[ViewController ProcessData: nil];
您必须在课程ProcessData
上调用方法ViewController
。
但是你所拥有的不是类/静态方法,因为它是- (void)
而不是+ (void)
。你的错误基本上是使用错误的语法来调用任何方法。您可以在
[self ProcessData: nil];
而不是
[ProcessData: nil];
最终注释:方法名称应以较低的字符开头!该方法应称为processData
!
答案 1 :(得分:1)
在这种情况下,你还没有声明一个类方法,你已经声明了一个实例方法,所以你可以通过这样做来调用它:
[self ProcessResponse: nil];
如果要声明一个类函数,如果声明而不是+
,则需要在开头使用-
:
+ (void) ProcessResponse: (NSString *)response;
你这样称呼:
[ViewController ProcessResponse: nil];
作为旁注,你应该按照这样的格式实际遵循常规约定:
+ (void)processResponse:(NSString *)response;
注意pascal case(方法名称开头没有大写字母),返回类型和名称之间没有空格,方法名称和参数类型之间没有空格。
答案 2 :(得分:1)
这不是一种类方法。它是一种实例方法。你必须这样称呼它:
<body>
<div class="container">
<div class="divClass">Div1</div>
<div class="divClass">Div2</div>
<div class="divClass">Div3</div>
</div>
</body>
类方法定义为&#34; plus&#34;符号(+),不是连字符( - )。
方法名称应以小写字母开头。