Я новичок в объекте-c.Я имею одну строку, которая содержит значение как 0,13,5. Теперь я пытаюсь выполнить различные функции, используя значение.Выполнение функции, основанной на строковом значении
Вот мой код.
NSString* statusfield = [NSString stringWithFormat:@"%@",[tmpDict objectForKey:@"StatusId"]];
if([statusfield isEqualToString:@"13"])
{
[cell.mySegmentedControl setTitle:@"SEND TO ADMIN" forSegmentAtIndex:0];
[cell.mySegmentedControl setTitle:@"EVALUATE" forSegmentAtIndex:1];
}
if([statusfield isEqualToString:@"5"])
{
[cell.mySegmentedControl setEnabled:NO forSegmentAtIndex:0];
[cell.mySegmentedControl setEnabled:NO forSegmentAtIndex:1];
}
if([statusfield isEqualToString: @"1"])
{
[cell.mySegmentedControl setTitle:@"ACCEPT" forSegmentAtIndex:0];
[cell.mySegmentedControl setTitle:@"REJECT" forSegmentAtIndex:1];
}
if([statusfield isEqualToString:@"3"])
{
[cell.mySegmentedControl setTitle:@"VIEW" forSegmentAtIndex:0];
[cell.mySegmentedControl setSelectedSegmentIndex:UISegmentedControlNoSegment];
}
Первая строка и последняя строка содержит 3. Таким образом, она показывает дубликаты в моем сегментированном элементе управления. Я хочу проверить точное состояние.
Любая помощь будет оценена по достоинству.
вы можете поделиться скриншот, а также (я не вниз проголосовали вас). – vaibhav
Нет необходимости прикреплять снимок экрана. Я прошу логику проверить условие на основе строкового значения. –
«первая строка и последняя строка содержит 3»: не имеет значения, так как вы выполняете 'isEqualToString:', а не 'containsString:'. Кроме того, вы можете использовать случай переключения: 'NSUInteger status = [[tmpDict objectForKey: @" StatusId "] integerValue]; switch (status): {case 3: {// Вы делаете} break; case 5: {// Вы делаете} break;} и т. д. – Larme