I know I am missing something obvious, but I just cannot see it. This method is meant to compare the text of a label to the text of a text box, and then delete the text. So if t
When you are comparing NSString
s with ==
what you are actually comparing are two memory addresses and that is not what you are really intended for. You want to compare the values of two strings what ==
operator is not suitable for and thus you are getting the warning
Direct comparison of a string literal has undefined behavior.
To compare the values of NSString
s you should use isEqualToString:
method. You could have also use isEqual:
method derived from NSObject
class but that is not suitable for Unicode comparison. So isEqualToString:
is always the safest bet.
After using isEqualToString:
your code should look something like:
-(IBAction)btnDelete:(id)sender
{
if ([self.lblFabric2.text isEqualToString:self.txtType.text])
{
self.lblFabric2.text = @"";
}
else
{
self.lblFabric1.text=@"";
}
}