检查三个UITextfields的数据,然后执行操作

时间:2012-02-06 22:50:33

标签: ios nsstring uilabel

我有一段代码,其中我想要三个NSString s(来自3个UITextField个)并将它们一起追加以在{{{{{{{ 1}}:

UILabel

基本上我希望-(IBAction)numberEntered:(id)sender { if (dayEntry != nil && monthEntry !=nil && yearEntry !=nil){ NSString *day=[NSString stringWithFormat:@"%@/%@/%@", dayEntry, monthEntry, yearEntry]; [dateOutput setText: day]; } } 语句检查所有文本字段在运行if代码行之前是否输入了数据。

目前,只要我在第一个[dateOutput setText: Day](即dayEntry)中输入一个数字,它就会立即行动。

通过“编辑完结束”在每个UITextField上调用操作。

1 个答案:

答案 0 :(得分:0)

当文本字段为空时,NSString变量将包含一个空字符串值(不是nil),这是一个长度为零的字符串。

您应该检查字符串的length。 (即使NSString变量恰好是nil,对它们调用length也会返回0而不是崩溃。)

所以将if条件更改为:

if ((dayEntry.length > 0) 
     && (monthEntry.length > 0) 
     && (yearEntry.length > 0))

如果您还想处理字符串只包含空格的情况(例如,如果用户在文本字段中键入单个空格),那么您首先必须修剪空白然后检查{{1 }}:

length