我在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;
}
答案 0 :(得分:3)
它只打印屏幕的最后一个值,因为您只有一个标签。每次到达循环结束时,您都要设置覆盖最后一个值的标签文本。如果要将所有这些标签打印到屏幕上,则需要使用多个标签,或者必须将这些字符串附加在一起并将它们放在标签或格式为UITextView
的格式中,以便它们可以所有人都可以看到(很可能是文本视图,但可以用标签来完成。)
这样做的一个例子是:
label.text = [label.text stringByAppendingString:newString];
numLines++; //this starts at 0;
然后在最后:
label.numberOfLines = numLines;