Break up long formatted NSString over multiple lines
Solution 1
Yes there is. Adjacent strings will be concatenated for you by the compiler.
NSString *info = [NSString stringWithFormat:@"\n Elapsed Time \n"
"Battery Level: \n"
"Torque: \n"
"Energy Used \n"
"Energy Regenerated:\n Cadence: \n"
"Battery Temp: \n"
"Motor Temp: \n"
"Incline: \n Speed MPH: \n"
"Speed KPH:\n"
"Avg Speed MPH: %f \n"
"Avg Speed KPH:\n"
"Distance Miles:\n"
"Distance Km: \n"
"Time Date Stamp:\n"];
NSLog(info);
Solution 2
This is more of an interesting feature than an useful answer, but...
// your code goes with that indentation (1 tab = 4 spaces)
NSString *myString = @"first line\
second line\
third line\
...\
last line";
// next lines of codes
But you really have to mind the indentation, doing NSLog(@"%@", myString)
for above, would result in: first linesecond linethird line...last line
.
Now consider this example:
// your code goes with that indentation (1 tab = 4 spaces)
NSString *myString = @"first line\
second line\
third line\
...\
last line";
// next lines of codes
this would give: first lineXsecond lineXthird lineX...Xlast line"
, where those nasty X's would be replaced by 4 spaces (tabulator had 4 spaces in this case, and I couldn't get right formatting, sorry). So, additional spacing can really stop you from getting expected results.
Related videos on Youtube
Comments
-
Sabobin about 4 years
Given the following line of Objective-C code:
[NSString stringWithFormat:@"\n Elapsed Time \n Battery Level: \n Torque: \n Energy Used \n Energy Regenerated:\n Cadence: \n Battery Temp: \n Motor Temp: \n Incline: \n Speed MPH: \n Speed KPH:\n Avg Speed MPH: \n Avg Speed KPH:\n Distance Miles:\n Distance Km: \n Time Date Stamp:\n"];
In Xcode or any code editor, is it possible to avoid having a very long string that must be read by scrolling across it in the editor?
Is there a way of breaking it up into multiple lines? I am finding that if I try to do this, the code will not compile, because the compiler reaches the end of a line and does not see the closing quotation mark (
"
) for the string.Does anyone know a way around this?
-
Ajay Sharma about 13 yearsHey you missed to pass %f float value @ end. Avg Speed MPH: %f \n Avg Speed KPH:\n................ Even this way worked for me
-
-
XJones about 13 yearsMake sure you add
@
before all quoted strings -
Sabobin about 13 years@XJones It compiled and printed with only 1 @ at the begning of the string as per @Joe answere.
-
Joe about 13 years@Seamus the code was tested and worked as posted and did not need to be edited. It works with or with out the @ on every line as long as the @ is on the first line. See the example here cocoadev.com/index.pl?NSString
-
XJones about 13 yearsI'm just used to adding the
@
on all lines, but yes, I see that it works without it. +1 for @Joe. -
Prince Kumar Sharma about 12 yearsThis works in console but not in sectionIndexTitle for tableview
-
Joe about 12 years@Princekumar ? This works regardless, the compiler concatenates the string. The result will be an
NSString
andsectionIndexTitle
will in no way be affected by the concatenation. -
Prince Kumar Sharma about 12 yearsok, but I want the long words display as multiple line in sectionIndexview would u please help me regarding this. link is stackoverflow.com/questions/10328561/…