objective-cgcccompiler-warningstype-mismatch

Xcode - Compiler does not alert about a type-mismatch


Why this compiler does not alert me about a possible type mismatch here?

NSHour* H1; // My object

if (H1 == nil) doSomething
else H1 = [NSString stringWithFormat:@"%@%@", H1, @":00"];  --- Here : affecting an NSString* to an NSHour*

Solution

  • Because the declaration says it returns id:

    + (id)stringWithFormat:(NSString *)format, ...
    

    And id can easily be assigned to anything.