2013-11-30 2 views
-3

Я пытаюсь создать класс, подобный встроенному классу NSDictionary, но я хочу добавить некоторые дополнительные функции и упростить его использование. В файле .m У меня есть следующий фрагмент кода:Ожидаемая ошибка идентификатора в выражении if

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

Это дает мне ошибку «ожидаемый идентификатор» в начале второй части, если заявление после «& &». Кто-нибудь сможет мне помочь?

EDIT: Исходная проблема исправлена, но теперь в конце инструкции 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" 
} 
+0

Отсутствует ')' ... спросил даже не один раз. –

+2

Этот вопрос должен быть закрыт, поскольку он основан на опечатке и не будет полезен для будущих читателей. –

ответ

0

Оно должно быть:

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

Хотя лучше проверить для непустых строк будет:

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

Вашего оригинальное if заявление будет давать неверные результаты, если либо theKey или theValue является nil. Мой второй вариант работает в любом случае.

Update:

Проблема с обновленным кодом недостающее ; после return заявления.

+0

Это гораздо лучшее решение. У меня все еще есть ошибка в моем коде, но в конце оператора if, где он дает мне ошибку «ожидаемого выражения» в конечной скобке. Есть идеи? – user3052653

+0

Не видя точного кода, это трудно понять. Обновите свой вопрос, добавив именно то, что у вас есть сейчас. Скопируйте и вставьте фактический код в свой вопрос (не помещайте код в комментарий). – rmaddy

+0

обновленный оригинальный пост – user3052653

0

Обычно после того, как в скобках должно быть одно условие. Вам не хватает скобок.

+0

Хорошо спасибо, я не понимал, что их нужно сгруппировать вместе как одно выражение. Теперь у меня есть ошибка в закрывающей скобке в конце инструкции if после «return». Она говорит «ожидаемое выражение». – user3052653

Смежные вопросы