0

私はXCodeをいじくり回して、iOSSDKとObjective-Cについて少し学ぼうとしています。

以下にこのforループがあり、(選択した月数に応じて)画面にいくつかの値を出力する必要がありますが、代わりに、最終的な値のみを出力します。

誰かがその理由を指摘できますか?

よろしくお願いします!

for (int i = 1; i <= myMonthsDouble; i++)
{
    myPaymentAmount = (myBalanceDouble/10) + myInterestDouble;
    myBalanceDouble -= myPaymentAmount;
    //convert myPaymentAmount double into string named myPaymentAmountString
    NSString *myPaymentAmountString = [NSString stringWithFormat:@"%f", myPaymentAmount];
    NSString *paymentInformation = [[NSString alloc] initWithFormat:@"%@ months, %@ per month.", monthsString, myPaymentAmountString];
    myInterestDouble = (myBalanceDouble * (myInterestDouble/100))/12;
    self.label.text = paymentInformation;
}
4

1 に答える 1

3

ラベルが1つしかないため、画面に最後の値を印刷するだけです。ループの最後に到達するたびに、最後の値をオーバーライドするラベルのテキストを設定します。それらすべてを画面に印刷する場合は、複数のラベルを付けるか、文字列を一緒に追加して、UITextViewすべてが表示されるようにフォーマットされたラベルまたはaに配置する必要があります(ほとんどの場合)おそらくテキストビューですが、ラベルを使用して実行できます。)

これを行う1つの例は次のとおりです。

label.text = [label.text stringByAppendingString:newString];
numLines++; //this starts at 0;

そして最後に:

label.numberOfLines = numLines;
于 2013-03-19T00:29:16.517 に答える