#ios #api #if-statement
#iOS #API #if-statement
Вопрос:
Мне нужно передать string
переменную в API
вызов, но мне трудно получить string
из if
инструкции.
Ниже приведено то, что я пробовал до сих пор, но я получаю предупреждение о том, что « usersID
является неиспользуемой переменной» внутри каждого из if
операторов…
Что имеет смысл и является основной проблемой, которую я пытаюсь решить (т. Е. Выполнить через if
оператор, чтобы получить его string
для использования после оценки).
Спасибо за помощь, опубликую любой дополнительный код по мере необходимости!
ViewController.h
@property (nonatomic, strong) NSString *usersID;
// Get leaf and theme from Saved defaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *leafAbbreviation = [defaults objectForKey:[NSString stringWithFormat:@"leafAbbreviation"]];
NSString *themeID = [defaults objectForKey:[NSString stringWithFormat:@"themeId"]];
// Get ID User number based on Leaf and Theme
if ([leafAbbreviation isEqualToString: @"new"] amp;amp; [themeID isEqualToString: @"2"]) {
NSString *usersID = [NSString stringWithFormat:@"728"];
}
else if ([leafAbbreviation isEqualToString: @"new"] amp;amp; [themeID isEqualToString: @"3"]) {
NSString *usersID = [NSString stringWithFormat:@"275"];
}
else {
NSString *usersID = [NSString stringWithFormat:@"486"];
// API
NSString *path = [NSString stringWithFormat:@"v1/%@/media/?client_id=xxx", usersID];
Ответ №1:
Вы должны объявить свою переменную перед статусами if, используйте ниже insetead:
// Get ID User number based on Leaf and Theme
NSString *usersID = [NSString stringWithFormat:@""];
if ([leafAbbreviation isEqualToString: @"new"] amp;amp; [themeID isEqualToString: @"2"]) {
usersID = [NSString stringWithFormat:@"728"];
}
else if ([leafAbbreviation isEqualToString: @"new"] amp;amp; [themeID isEqualToString: @"3"]) {
usersID = [NSString stringWithFormat:@"275"];
}
else {
usersID = [NSString stringWithFormat:@"486"];
}
Это устранит вашу проблему.
Комментарии:
1. Получил это и просто оставил его пустым внутри
@""
forNSString *usersID = [NSString stringWithFormat:@""];
?2.
[NSString stringWithFormat:@""]
бессмысленно, поскольку формат ничего не содержит (аналогично, если строка формата не содержит параметров формата и содержит только обычный текст). Просто используйте@""
напрямую, илиnil
если пустая строка не имеет смысла.3. @Wain, спасибо за информацию! Итак, просто используйте NSString *usersID = @ » «, а затем, как только будут выполнены операторы if, они будут заполнять переменную usersID?