执行代码后,文本字段的文本在UI中不会更改为“Fly”,但第二个NSLog会按原样打印“TextField:Fly”。
@property (strong, nonatomic) IBOutlet UITextField *typeTextField;
....
UITableViewCell* cell = [self.theTableView dequeueReusableCellWithIdentifier:@"TypeCell"];
self.typeTextField = (UITextField*)[cell viewWithTag:1];
NSLog(@"TextField: %@ ", self.typeTextField.text);
self.typeTextField.text = @"Fly";
NSLog(@"TextField: %@ ", self.typeTextField.text);
非常感谢任何帮助。
答案 0 :(得分:0)
您几乎肯定忘记在界面构建器中连接UITextField的插座。打开typeTextField
可见的.xib文件,单击typeTextField,然后显示Utility窗格(Xcode 4+中最右侧的窗格)。单击Connections Inspector(看起来像右箭头的那个)并将New Referencing Outlet拖到文件所有者。
当您没有连接UITextField时,您在Interface Builder中使用您在源文件中标识的IBOutlet进行了连接,两个UITextField都被创建为单独的实体。您可以使用损坏的IBOutlet进行更改并使用有效的typeTextField,但它永远不会出现在您的视图中。
在正确连接自定义UITableViewCell对象时,请咨询How to connect an IBOutlet from an UITableViewController directly to custom cell?和http://www.youtube.com/watch?v=d_kO-J3DYvc。