2016-09-27 2 views
0

Я все еще в процессе обучения. Я хочу, чтобы иметь возможность щелкнуть массив объектов, и этот объект показан в textlable. Вот как я догадался:Щелчок по массиву

Я начинаю с объекта в позиции 0. Когда нажимается кнопка, надпись говорит об этом. Я снова нажимаю кнопку, и на этикетке написано, что два, а после повторного нажатия три слова. Может кто-нибудь помочь PLS? Благодаря

-> Отредактированный Вопрос:

Я знал, что мне нужно посчитать ++ как-то, но я не знаю, как правильно его использовать. Если я размещаю его там, где он стоит в коде прямо сейчас, на этикетке написано только два. И да, это должно потому, что оно увеличивается на единицу, поэтому объект по его индексу является «двумя». Он показывает только «два» на этикетке. Так есть ли способ заставить его работать с операторами if?

NSString *word = {@"one,two,three"}; 
NSArray *anArray = [word componentsSeparatedByString:@","]; 
int count = anArray.count; 
count = 0; 
count++; 

if (count == 0){ 
_labelText.text = [NSString stringWithFormat:@"%@" , [anArray objectAtIndex:0]]; 
} 

else if(count == 1){ 
_labelText.text = [NSString stringWithFormat:@"%@", [anArray objectAtIndex:1]]; 
} 

else if (count ==2){ 
_labelText.text = [NSString stringWithFormat:@"%@", [anArray objectAtIndex:2]]; 
} 
+0

einArras = anArray – podoi17

+0

Вам не нужен цикл. – ozgur

ответ

1

Попробуйте это:

@interface ViewController() 

@property (nonatomic, weak) IBOutlet UILabel *labelText; 
@property (nonatomic, strong) NSArray *words; 
@property (nonatomic, readwrite) NSInteger counter; 

@end 

@implementation ViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 

    self.words = @[@"one", @"two", @"three"]; 
    self.counter = 0; 

    [self updateUI]; 
} 

- (IBAction)nextButton:(id)sender { 
    self.counter = (self.counter + 1) % self.words.count; 
    [self updateUI]; 
} 

- (void)updateUI { 
    self.labelText.text = self.words[self.counter]; 
} 

@end 
+0

отличное решение. Работает отлично. Я полагаю, что вы продвинутый программист. Я все еще в моих детских шагах, поэтому я бы никогда не пришел с таким решением. Любой совет, как он мог бы работать с оператором if? – podoi17

+0

self.counter = (self.counter + 1)% self.words.count. Не могли бы вы объяснить реальную скорость, что делает «%». – podoi17

+0

Это оператор modulo ... https://en.wikipedia.org/wiki/Modulo_operation – norders

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