#ios #objective-c #iphone #nsstring #nsmutablestring
#iOS #objective-c #iPhone #nsstring #nsmutablestring
Вопрос:
Я новичок в программировании на языке Objective-C.
Мне нужно вернуть это «tabName» из for loop
функции. Как сравнить, app_additional_tab_name_
равно tabName? Потому что теперь все еще возвращается фамилия для любого app_additional_tab_name_
.
(NSString *)additionalTabName {
for (int i = 0; i <= 16; i ) {
tabNameConcatString = [NSMutableString stringWithFormat:@"app_additional_tab_name_%d", i];
tabName = [LocalizedStringsUserDefaults valueForKey:tabNameConcatString];
if ([LocalizedStringsUserDefaults existsObjectForKey:tabNameConcatString]) {
tabName = [LocalizedStringsUserDefaults valueForKey:tabNameConcatString];
NSLog(@"This tabName is: @% @% @% @%", tabName, @" and will append to: ", tabNameConcatString);
}
}
return tabName;
}
Всего наилучшего.
Ответ №1:
Переместить возврат внутри условия соответствия
(NSString *)additionalTabName {
for (int i = 0; i <= 16; i ) {
tabNameConcatString = [NSMutableString stringWithFormat:@"app_additional_tab_name_%d", i];
tabName = [LocalizedStringsUserDefaults valueForKey:tabNameConcatString];
if ([LocalizedStringsUserDefaults existsObjectForKey:tabNameConcatString]) {
tabName = [LocalizedStringsUserDefaults valueForKey:tabNameConcatString];
NSLog(@"This tabName is: @% @% @% @%", tabName, @" and will append to: ", tabNameConcatString);
return tabName;
}
}
return nil;
}
если совпадений не найдено, вы можете либо вернуть nil, либо вернуть пустую строку.