if语句中的预期标识符错误

时间:2013-11-30 17:42:37

标签: objective-c

我正在尝试创建一个类似于内置NSDictionary类的类,但我想添加一些额外的功能并使其更易于使用。在.m文件中,我有以下代码:

-(void)newEntryWithKey:(NSString *)theKey andValue:(NSString *)theValue{
    if (![theKey isEqual:@""]) && (![theValue isEqual:@""]){
        [self.keys addObject:theKey];
        [self.values addObject:theValue];
        self.upperBound++;
    }else{
        return
    }
}

它在“&&”之后的if语句的第二部分开头给出了一个“预期标识符”错误。有人能帮我这个吗?

编辑:原始问题已修复,但现在if语句末尾有一个新错误。

-(void)newEntryWithKey:(NSString *)theKey andValue:(NSString *)theValue{
    if (theKey.length && theValue.length) {
        [self.keys addObject:theKey];
        [self.values addObject:theValue];
        self.upperBound++;
    }else{
        return
    } //<-- error here "Expected expression"
} 

2 个答案:

答案 0 :(得分:0)

通常在括号中应该有一个条件之后。你错过了括号。

答案 1 :(得分:0)

应该是:

if (![theKey isEqual:@""] && ![theValue isEqual:@""]) {

虽然可以更好地检查非空字符串:

if (theKey.length && theValue.length) {

如果iftheKeytheValue,则原始nil语句会产生错误的结果。我的第二个选项适用于任何一种情况。

更新

更新代码的问题是;语句后缺少return