这令我感到沮丧。我是初学程序员,无法弄清楚文本没有被更改的原因。
这是我的方法,它应该设置UITextField的文本:
-(void)updateDays:(NSInteger)days
{
NSString* daysString = [[NSString alloc] initWithFormat:@"%d", days];
[daysTextField setText:daysString];
[daysString release];
}
无论出于何种原因,一切都没有发生。
帮助appreaciated!
答案 0 :(得分:6)
任何时候你都会对“为什么这条线不工作”感到沮丧,使用调试器或者只是在它之前添加一个NSLog来打印相关数据:
NSLog(@"updateDays: %@ %@ <= %@", daysTextField, daysTextField.text, daysString);
然后你知道线(a)正在执行,(b)变量是你认为的变量,(c)值是合理的。
答案 1 :(得分:4)
我已经多次经历过这次,但我认为所有这些都是因为UITextField
在那时没有被初始化。
设置断点并使用调试器确保UITextField
不是。您还应该检查.xib文件和代码之间的连接。
答案 2 :(得分:0)
检查方法是否被调用。如果是,请检查文本字段是否设置正确。交叉检查以查看IBOutlet
连接是否与正确的对象建立。
答案 3 :(得分:0)
我也遇到了这个问题。
这是我的代码:(在viewdidload中)
UITextView *tv = [[UITextView alloc]initWithFrame:CGRectMake(0,0,320,50)]];
tv.text = @"12345";
tv.textColor=[UIColor blackColor];
[self.view addSubView:tv];
文字(12345)没有显示;
最后,我发现当我将textColor设置为灰色或任何不是黑色的颜色时,它都有效;
我认为这是模拟器的一个错误。
我使用xcode 4.2和iphone5.0simulator。