Is it necessary to assign a string to a variable before comparing it to another?

cocoa-touch, objective-c, variables

Solution

Do I really have to create an NSString for "Wrong"?

No, why not just do:

if([statusString isEqualToString:@"Wrong"]){
    //doSomething;
}

Using `@""` simply creates a string literal, which is a valid `NSString`.

Also, can I compare the value of a UILabel.text to a string without assigning the label value to a string?

Yes, you can do something like:

UILabel *label = ...;
if([someString isEqualToString:label.text]) {
    // Do stuff here 
}

Problem

I want to compare the value of an `NSString` to the string "Wrong". Here is my code: ``` NSString *wrongTxt = [[NSString alloc] initWithFormat:@"Wrong"]; if( [statusString isEqualToString:wrongTxt] ){ doSomething; } ``` Do I really have to create an NSString for "Wrong"? Also, can I compare the value of a `UILabel`'s `text` to a string without assigning the label value to a string?

Original source