如何检查文本框中的空值

时间:2012-12-19 07:07:51

标签: objective-c ios xcode cocoa-touch

我最近在Xcode工作。我使用了带有4个文本框的表格视图,并且在按钮上单击我正在检查是否有任何文本框如果没有将其保存在本地文件中则为空值。

代码如下:

NSString *FName, *LName, *Email, *Pwd;

FName=registerFirstName.text;
LName=registerLastName.text;
Email=registerEmail.text;
Pwd=registerPassword.text;

BOOL fileexists=[[NSFileManager defaultManager]fileExistsAtPath:storePath];
if(!fileexists)
    [storeManager createFileAtPath:storePath contents:nil attributes:nil];

if (FName !=NULL && LName != NULL && Email != NULL && Pwd != NULL && FName!=@"" && LName!=@"" && Email!=@"" && Pwd!=@"") {

    UIAlertView *missingInfo=[[UIAlertView alloc]initWithTitle:@"Missing Details" message:@"All Fields Are Necessary" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
    [missingInfo show];
  } else {
    NSString *fullUserInfo;
    fullUserInfo=[NSString stringWithFormat:@"First Name:\t%@\nLast Name:\t%@\nEmail ID:\t%@\nPassword:\t%@",FName,LName,Email,Pwd];
    [fullUserInfo writeToFile:storePath atomically:YES encoding:NSUTF8StringEncoding error:nil];
    UIAlertView *test=[[UIAlertView alloc]initWithTitle:@"InfoSaved" message:fullUserInfo delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
    [test show];
}

当我在模拟器中运行它而没有输入任何值时,它确实显示了缺少字段的警报。但是当我在文本框中键入一些值然后删除它时,如果我点击完成保存它,它接受空值并存储到我不想发生的值。我的代码中的逻辑有什么问题,或者在xcode中是否有任何其他函数来检查null?。

5 个答案:

答案 0 :(得分:3)

if (textfieldName.text.length == 0) {
    NSLog(@"Text field empty");
} else {
    NSLog(@"Text field has value");
}

答案 1 :(得分:2)

比较NULL或nil不会给你预期的结果....为了检查字符串是否为空,你必须使用这个......

if([Fname isEqualtoString = @""] &&.....)
{
   UIAlertView *missingInfo=[[UIAlertView alloc]initWithTitle:@"Missing Details" message:@"All Fields Are Necessary" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
    [missingInfo show];
}
else
{
//put your code here.
}

我相信......这会对你有所帮助......干杯......

答案 2 :(得分:1)

对于MacOS应用程序

if([_text.stringValue isNotEqualTo:@""]){
    NSLog(@"contains");
}
else{
    NSLog(@"empty");
}

编辑:

对于ios:

NSString *textString=_text.text;

if(textString==NULL){
    NSLog(@"NULL");
}
else{
    NSLog(@"contains");
}

答案 3 :(得分:0)

你可以这样做:

if ([myString isEqualtoString:@""])
{

}
else
{

}

答案 4 :(得分:-2)

if(Fname.length==0)
{
  NSLog(@"null");
}