1

ここで少し混乱してください。

クラスから配列にいくつかのオブジェクトを追加しました。今、私はそれらのオブジェクトを反復処理し、それらをすべての変数と一緒に(コンソールに)出力しようとしています。

NSArray *stockArray=[NSArray arrayWithObjects:stock1, stock2, stock3, nil];

    for (int i=0; i<4; i++)
    {
        StockHolding *stockItem=[[StockHolding alloc]init];
        stockItem=[stockArray objectAtIndex:i];
        [print stockItem];
    }

私のStockHoldingクラスには、.hで宣言し、printメソッドとともに.mで合成するいくつかのプロパティがあります。

ただし、上記のコードで「stockItem」を印刷しようとすると、コンパイラエラー「未宣言の識別子「print」の使用」が発生します。

Stock Holdingクラスはprintを.hで宣言し、.mで実装するため、これは意味がありません。

-(void) print{
NSLog(@"Current purchase price is %f, current price is %f, 
number of shares are %i, cost in dollars is %f, value is dollars is %f", 
purchaseSharePrice, currentSharePrice, 
numberOfShares, self.costInDollars, self.valueInDollars);
}

これらの配列オブジェクトを印刷するために別の方法を使用する必要がありますか?

4

1 に答える 1

1

あなたの構文は逆です。そのはず:

[stockItem print];

Objective-Cの構文は次のとおりです。

[object method];
于 2012-06-27T14:35:15.713 に答える