我有一段代码,其中我想要三个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
上调用操作。
答案 0 :(得分:0)
当文本字段为空时,NSString
变量将包含一个空字符串值(不是nil
),这是一个长度为零的字符串。
您应该检查字符串的length
。 (即使NSString
变量恰好是nil
,对它们调用length
也会返回0而不是崩溃。)
所以将if
条件更改为:
if ((dayEntry.length > 0)
&& (monthEntry.length > 0)
&& (yearEntry.length > 0))
如果您还想处理字符串只包含空格的情况(例如,如果用户在文本字段中键入单个空格),那么您首先必须修剪空白然后检查{{1 }}:
length