的Objective-C:的功能 'isEmptyString' 隐式声明是在C99无效

的Objective-C:的功能 'isEmptyString' 隐式声明是在C99无效

问题描述:

以下是提到的功能: -的Objective-C:的功能 'isEmptyString' 隐式声明是在C99无效

-(BOOL) isEmptyString :(NSString*) string { 
    if([string isEqualToString:@""] || [string isKindOfClass:[NSNull class]]) { 
     return true; 
    } 
    return false; 
} 

当使用此功能如下: -

BOOL d = isEmptyString(@"data"); 

提出上述提到的不知道为什么。有人可以解释我做错了什么。

您在objective-c中声明了该函数,但是您将它称为c函数。

您应该更改声明或更改您称之为的方式。

你应该这样调用它(假设你是在同一个.m文件)

BOOL d = [self isEmptyString:@"data"]

+0

感谢阿里斯。事实上,我更加迅速,没有我在Objective-C中知道的违约操作符。 – MShah

+0

7分钟后可以接受。 – MShah

+0

没问题! “违约运营商”是什么意思? – Aris