迭代数组以打印出每个值

时间:2014-01-15 00:51:14

标签: objective-c arrays for-loop

我已经编写了代码 - 但我需要一些澄清,我在本网站的其他答案中找不到。我找不到一个可靠的例子来帮助我。

这是否被正确地视为通过我的数组'迭代'?我觉得这真的很难编码。我还在学习。感谢

    NSMutableArray *stocks = [NSMutableArray array];


    BNRStockHolding *A = [[BNRStockHolding alloc]init];
    BNRStockHolding *B = [[BNRStockHolding alloc]init];
    BNRStockHolding *C = [[BNRStockHolding alloc]init];


    [stocks insertObject:A atIndex:0];
    [stocks insertObject:B atIndex:1];
    [stocks insertObject:C atIndex:2];

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

    {
    [A setNumberOfShares:40];
    [B setNumberOfShares:90];
    [C setNumberOfShares:210];

    [A setPurchaseSharePrice:2.30];
    [B setPurchaseSharePrice:12.19];
    [C setPurchaseSharePrice:45.10];

    [A setCurrentSharePrice:4.50];
    [B setCurrentSharePrice:10.56];
    [C setCurrentSharePrice:49.51];

    float costA = [A costInDollars];
    float costB = [B costInDollars];
    float costC = [C costInDollars];
    NSLog(@"This stock costs %.2f", costA);
    NSLog(@"This stock costs %.2f", costB);
    NSLog(@"This stock costs %.2f", costC);

    NSLog(@"\n");

    float valueA = [A valueInDollars];
    float valueB = [B valueInDollars];
    float valueC = [C valueInDollars];
    NSLog(@"The current value of this stock is %.2f", valueA);
    NSLog(@"The current value of this stock is %.2f", valueB);
    NSLog(@"The current value of this stock is %.2f", valueC);
    }
    }

1 个答案:

答案 0 :(得分:1)

你当前的for循环实际上并没有循环任何东西。如果您想遍历数组以打印出每个值,请执行以下操作:

for(BNRStockHolding *stockHolding in stocks) {

    NSLog(@"This stock costs: %.2f", [stockHolding costInDollars]);
    NSLog(@"The current value of this stock is %.2f", [stockHolding valueInDollars]);
}

这确实是一个基本概念。在尝试编写完整的应用程序之前,我会通过this回答有关循环基础知识的答案(并且可能会查看其他一些基础知识)。