Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to split a string in Objective-C without breaking the code

Xcode throws all sorts of errors when I insert a line break into a string. E.g., this fails:

if (newMaximumNumberOfSides > 12) {
    NSLog(@"Invalid maximum number of sides: %i is greater than 
            the maximum of 12 allowed.", newMaximumNumberOfSides);
}

But this works:

if (newMaximumNumberOfSides > 12) {
    NSLog(@"Invalid maximum number of sides: %i is greater than the maximum of 12 allowed.", 
          newMaximumNumberOfSides);
}

I'd prefer the former because it's cleaner to look at (shorter lines), but the code breaks. What's the best way to deal with this? (Subquestion: is this referenced in any of the syntax guides? I searched all my books for "line break" to no effect.)

like image 605
Dan Avatar asked Dec 02 '22 03:12

Dan


2 Answers

All these should work:

NSString *s = @"this" \
        @" is a" \
        @" very long" \
        @" string!";

    NSLog(s);


    NSString *s1 = @"this" 
        @" is a" 
        @" very long" 
        @" string!";

    NSLog(s1);

    NSString *s2 = @"this"
        " is a"
        " very long"
        " string!";

    NSLog(s2);

    NSString *s3 = @"this\
 is a\
 very long\
 string!";

    NSLog(s3);
like image 75
Scott Avatar answered Dec 26 '22 13:12

Scott


if (newMaximumNumberOfSides > 12) {
    NSLog(@"Invalid maximum number of sides: %i is greater than " 
            "the maximum of 12 allowed.", newMaximumNumberOfSides);
}
like image 24
Julio Gorgé Avatar answered Dec 26 '22 14:12

Julio Gorgé