0

我在 XCode 中闲逛,试图了解一些有关 iOS SDK 和 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

它仅将最后一个值打印到屏幕上,因为您只有一个标签。每次到达循环结束时,您都在设置该标签的文本,该文本将覆盖最后一个值。如果要将它们全部打印到屏幕上,则需要有多个标签,或者必须将字符串附加在一起并将它们放在标签或UITextView格式化的标签中,以便它们都可以看到(大多数可能是文本视图,但可以使用标签来完成。)

这样做的一个例子是:

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

然后在最后:

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