2017-03-16 1 views
1

Ich habe eine Textdatei von Wörtern und ich mache es in meinem Projekt zu lesen ist in Ordnung, jetzt möchte ich Wörter Strings in zwei Hälften teilen und zufällig zeigen mehrere Etiketten, die ich aus meiner Sicht mache.So zeigen Sie zufällige Wörter aus einer Textdatei auf mehreren Etiketten in Ziel c

NSString *myfilePath = [[NSBundle mainBundle] pathForResource:@"textFile" ofType:@"txt"]; 

NSString *linesFromFile = [[NSString alloc] initWithContentsOfFile:myfilePath encoding:NSUTF8StringEncoding error:nil]; 

myWords = [NSArray alloc]; 
myWords = [linesFromFile componentsSeparatedByString:@"\n"]; 

NSLog(@"%@", myWords); 

Ich mache 5 Etiketten, wie kann ich meine Textdatei Worte machen auf diese fünf Etiketten zufällig aufgeteilt und erscheinen?

+0

ändert sich der Text auf dem Etikett pro Zeitrahmen? wenn nicht wie können Sie Ihre ganzen Texte in Ihrer Textdatei zeigen. – aircraft

+0

ja sollte es zufällig ändern ..... – Sipa

+0

können zwei Etiketten oder mehr den gleichen Text zur gleichen Zeit zeigen? – aircraft

Antwort

1

verwenden AS -Sergey Hälfte meines Problems empfehlen gelöst ich in der Lage bin eine Wortfolge von Textdatei auf dem Etikett zu zeigen. Entfernen Sie diese Etiketten [i] .text von Code und rufen

NSMutableArray<UILabel*>* labels = [NSMutableArray array]; 
NSMutableArray *words = [myWords mutableCopy]; 
for (int i = 0; i<5; i++) { 
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(30, 70*i, 100, 40)]; 
    label.textColor = [UIColor whiteColor]; 
    //whatever other properties 

    NSInteger index = arc4random()%words.count; 
    label.text = words[index]; 
    [words removeObjectAtIndex:index]; 


    [self.view addSubview:label]; 
    [labels addObject: label]; 


} 

Dies zeigt eine vollständige Kette von Wort jetzt ich eine Wortfolge in zwei Teilen beispielsweise geteilt werden soll, wenn ich ein Wort von Apple sollte es in aufgeteilt werden als App und le und zeige es zufällig auf verschiedenen Etiketten, jede Hilfe geschätzt.

1

können Sie versuchen, diese

NSMutableArray *words = [myWords mutableCopy]; 
    for (int i = 0; i<5 ;i++) 
    { 
    NSInteger index = arc4random()%words.count; 
    labels[i].text = words[index]; 
    [words removeObjectAtIndex:index]; 
    } 
+0

Wie lautet die Methode zum Lesen von Array-Elementen für Objekt UILabel? – Sipa

+0

Was meinst du? Sie sagen, Sie haben bereits 5 Etiketten, also müssen Sie Array mit diesen Etiketten, etwas wie folgt erstellen: 'NSArray * Etiketten = @ [Etikett1, Etikett2, Etikett3, Etikett4, Etikett5];' – Sergey

+0

oh ich erstellte Etiketten mit Schleife für (int i = 1; i <5; i ++) {UILabel * Label = [[UILabel Alloc] initWithFrame: CGRectMake (30, 70 * i, 100, 40)]; label.textColor = [UIColor whiteColor]; label.backgroundColor = [UIColor greenColor]; } – Sipa

Verwandte Themen