从 iOS Xcode 中的数组列表中一一显示字符串 5

Display String one by one from array list in iOS Xcode 5

我有一大块字符串,我将数组列表中的所有字符串用白色 space 分开,并希望在同一个文本框中一个一个地显示,假设我有一个字符串 "my name is xyz" 然后文本框应该竞争这样的数据 "my" 然后等待几秒钟然后显示 "name" 再次等待并显示 "is" 等等.....

  - (IBAction)btnstart:(id)sender {

    NSString *myString=self.textcollector.text;
    NSArray *readerArray=[myString componentsSeparatedByString:@" "];
    int arraylenght=[readerArray count];
    textcollector.text=@"";


    for(int i=0;i<arraylenght;i++)
    {


    //textcollector=NULL;
    self.textcollector.text=readerArray[i];
    //NSLog(@" ",readerArray[i]);
    sleep(1);
   // textcollector.a

    }

}

查看我的代码:

在你的 .h file 中:定义字符串数组。

@property (strong, nonatomic) NSArray *aryAll;

在你的.m file.

@synthesize aryAll;

btnstart

 - (IBAction)btnstart:(id)sender {

        self.aryAll = [[NSArray alloc] init];

        NSString *stringAnimation = @"My name is kirit modi come from deesa city";

        aryAll = [stringAnimation componentsSeparatedByString:@" "];

        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0),
                       ^{
                           [self animationString];
                       });

  }

动画方法:

-(void)animationString
{
    for (int i =0; i< aryAll.count; i++)
    {
        dispatch_async(dispatch_get_main_queue(),
                       ^{
                           [labnanme setText:[aryAll objectAtIndex:i]];
                       });

        [NSThread sleepForTimeInterval:1];
    }
}

你的输出是:

试试这个,将 readerArray 和 i 声明为全局

NSArray *readerArray;
  int i;

  - (IBAction)btnstart:(id)sender
 {

NSString *myString=self.textcollector.text;

   readerArray=[myString componentsSeparatedByString:@" "];

   NSUInteger arraylenght=[readerArray count];

    self.statuslabel.text=@"";

    [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(showText) userInfo:nil repeats:YES];

}
-(void)showText
{

    if (i<[readerArray count])
    {
        self.textcollector.text=readerArray[i];
        i++;

    }
}

最后使定时器失效