对于IBOutlet UITextField,清除文本值的方式是否与内存管理或其他原因有关?
textFieldX.text = nil或
textFieldX.text = @"";在objective-c中,消息传递nil对象是可接受的,而@""是静态NSString *。我不确定是否每个@""都指向内存中的同一个对象,或者它是否分配了一串1字节的以null结尾的字符串。
没什么大不了的,我只是想问问社区。谢谢。
发布于 2009-07-22 22:40:22
就我个人而言,我会少考虑内存使用,而更多地考虑代码的可维护性。
对我来说,标签总是有一个字符串是有意义的。将来有人可能会尝试附加一个labes值,将其保存在数据库中,将其包装在xml中,等等。在这种情况下,一个空的NSString对我来说比0x0更有意义。
发布于 2009-07-22 22:40:03
为了清楚起见,我通常使用textFieldX.text = @"";。这帮助我记住,值应该是一个字符串,并且我可以传递所有标准的字符串方法。
发布于 2011-07-05 20:01:39
我建议您使用nil,因为我发现当您使用@"“时,占位符不会居中对齐(如果它必须对齐)。请看,我是如何更改代码以正确对齐占位符的。
wordTextField.textAlignment = UITextAlignmentCenter;
//wordTextField.text = @"";
wordTextField.text = nil;
translationTextField.textAlignment = UITextAlignmentCenter;
//translationTextField.text = @"";
translationTextField.text = nil;https://stackoverflow.com/questions/1168680
复制相似问题