我正准备我的应用程序到iOS7并有一个奇怪的问题:
当我试图获得一个空的TextField文本时,我得到"nil",而在过去它曾经返回@""(空字符串).
这是正式的变化还是错误?
谢谢Shani
mar*_*sei 10
这是从iOS6到iOS7的正式变化.用于返回空字符串的文本字段,但现在您有一个nil字符串.
@property (weak, nonatomic) IBOutlet UITextField *tf;
// iOS6
if (![self.tf.text isEqualToString:@""]){
// iOS7
if (self.tf.text != nil && ![self.tf.text isEqualToString:@""]) {
Run Code Online (Sandbox Code Playgroud)
我认为你可以做的另一件事是: -
if([self.tf.text length] != 0)
{
// do whatever
}
Run Code Online (Sandbox Code Playgroud)
以上将处理空字符串以及空字符串.由于向nil发送长度消息返回0.
是的,这是一个正式的变革.所以你需要像这样处理
// For iOS 6
if (![self.tf.text isEqualToString:@""])
{
}
// For iOS 7
if (self.tf.text != nil && [self.tf.text length] != 0)
{
}
Run Code Online (Sandbox Code Playgroud)
要么
适用于iOS 7和早期版本的此条件.
if([self.tf.text length] != 0)
{
// do your stuff
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2477 次 |
| 最近记录: |