【问题标题】:Executing loop values one after another in xcode在xcode中一个接一个地执行循环值
【发布时间】:2015-02-02 12:58:32
【问题描述】:

通过在viewDidLoad 中添加此代码:

NSMutableArray   *array = [NSMutableArray arrayWithObjects:
                               @"Hefeweizen", @"IPA", @"Pilsner", @"Stout", nil];

    NSLog(@"array %@",array);

这是我得到的NSLog

array (
    Hefeweizen,
    IPA,
    Pilsner,
    Stout
)

例如如何在NSLog 中一一获取值而不是显示总值:

array{hefeweizen} 
array{IPA}
array{Pilsner}
array{Stout}

【问题讨论】:

  • for (NSString *aString in array){}?还是要覆盖description
  • 我试图通过一一加载来显示 viewDidLoad 中标签中的所有值。现在我得到的是“Stout”,因为它是最后一个值。我希望标签中的所有值一个接一个地执行(一种循环)。
  • 是 [数组 objectAtIndex:0]
  • @ArunKumar 通过在标签中提到特定索引显示确切值。但是我想在执行后一一显示标签中显示的所有值。
  • 您能简要说明您的需求吗?你想应该包含 dict 和 array 吗?表示有值的键?

标签: ios objective-c xcode nsmutablearray


【解决方案1】:
Ex 1: array[0],array[1]....;

Ex 2: [array objectAtIndex:0]..;

【讨论】:

    【解决方案2】:
     //Initialise More data
        setMoreArray = [[NSMutableArray alloc] init];
        NSMutableDictionary *setData = [[NSMutableDictionary alloc] init];[setData setObject:@"profile.png" forKey:@"icon"];[setData setObject:@"inloyal Profile" forKey:@"lable"];[setMoreArray addObject:setData]; 
    
    some thing like this   ??
    
    op:
    
    array ->
    
    (
    
    {
     "icon" = "profile.png"
    },
    {
     "lable" = "inloyal Profile"
    }
    )
    

    【讨论】:

    • 没有字典的那种。
    • NSArray *array = [[NSArray alloc] initWithObjects:[[NSArray alloc] initWithObjects:@"now", nil],[[NSArray alloc] initWithObjects:@"now1", nil],[ [NSArray alloc] initWithObjects:@"now2", nil], nil]; ??
    • 这可以返回((new),(new1),(new2))
    【解决方案3】:

    我试过这段代码,它工作正常:

    NSUInteger index;
    
    int64_t delayInSeconds = 5.0;
    
    NSMutableArray   *array = [NSMutableArray arrayWithObjects:
                               @"Hefeweizen", @"IPA", @"Pilsner", @"Stout", nil];
    
    NSMutableArray   *arrayac = [[NSMutableArray alloc]init];
    
    
    
    index = 0;
    
    for ( id item in array )
    {
    
    
    
    
        dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
    
        dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
    
    
    
            [arrayac insertObject:item atIndex:index];
            NSLog(@"dest array %@   ",arrayac);
            NSLog(@"last object in the array %@   ",[arrayac lastObject]);
    
            testLabel.text = [arrayac lastObject];
    
    
        }); 
    
    
        delayInSeconds += 1;
    
        index++;
    
    
    
    
    }
    

    我将此代码放在 viewDidLoad 中,运行代码后,恰好在 5 秒延迟后,标签以 1 秒的间隔一个接一个地更改。我想要的是一一显示数组中的所有值。

    【讨论】:

      猜你喜欢
      • 2022-07-04
      • 2015-02-23
      • 2015-03-04
      • 2019-08-15
      • 2018-10-27
      • 1970-01-01
      • 2013-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多