首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >清除UITextField的最佳方法

清除UITextField的最佳方法
EN

Stack Overflow用户
提问于 2009-07-22 22:35:12
回答 5查看 43.4K关注 0票数 31

对于IBOutlet UITextField,清除文本值的方式是否与内存管理或其他原因有关?

代码语言:javascript
运行
复制
textFieldX.text = nil

代码语言:javascript
运行
复制
textFieldX.text = @"";

在objective-c中,消息传递nil对象是可接受的,而@""是静态NSString *。我不确定是否每个@""都指向内存中的同一个对象,或者它是否分配了一串1字节的以null结尾的字符串。

没什么大不了的,我只是想问问社区。谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-07-22 22:40:22

就我个人而言,我会少考虑内存使用,而更多地考虑代码的可维护性。

对我来说,标签总是有一个字符串是有意义的。将来有人可能会尝试附加一个labes值,将其保存在数据库中,将其包装在xml中,等等。在这种情况下,一个空的NSString对我来说比0x0更有意义。

票数 35
EN

Stack Overflow用户

发布于 2009-07-22 22:40:03

为了清楚起见,我通常使用textFieldX.text = @"";。这帮助我记住,值应该是一个字符串,并且我可以传递所有标准的字符串方法。

票数 9
EN

Stack Overflow用户

发布于 2011-07-05 20:01:39

我建议您使用nil,因为我发现当您使用@"“时,占位符不会居中对齐(如果它必须对齐)。请看,我是如何更改代码以正确对齐占位符的。

代码语言:javascript
运行
复制
 wordTextField.textAlignment = UITextAlignmentCenter;
 //wordTextField.text = @"";
 wordTextField.text = nil;
 translationTextField.textAlignment = UITextAlignmentCenter;
 //translationTextField.text = @"";
 translationTextField.text = nil;
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1168680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档