By testing for the two strings being == you are actually asking whether the objects pointed to by the variables are the same object.
And I guess they're not.
You need to check if the string values of those objects are equal
if ([_thetimelabel.stringValue isEqualTostring:_settimelabel.stringValue] ) {
When you use constants
NSString* myVar1 = @"foo";
NSString* myVar2 = @"foo";
then myVar1 == myVar2 is true - but onlyh because the compiler spots that the two constants are the same, and so references the same object. When you have two NSString* that have values, they (usually!) will point to completely different objects, and so are not equal.