Include a variable inside a NSString?

后端 未结 2 560
旧时难觅i
旧时难觅i 2021-01-05 16:22

This works fine, we all know that:

NSString *textoutput = @\"Hello\";
outLabel.text = textoutput;

However, what if you want to include a v

相关标签:
2条回答
  • 2021-01-05 16:52

    I have The Cure you're looking for, Robert Smith:

    if your variable is an object, use this:
    NSString *textOutput = [NSString stringWithFormat:@"Hello %@", Variable];

    The '%@' will only work for objects. For integers, it's '%i'.

    For other types, or if you want more specificity over the string it produces, use this guide

    0 讨论(0)
  • You can do some fancy formatting using the following function:

    NSString *textoutput = [NSString stringWithFormat:@"Hello %@", variable];
    

    Note that %@ assumes that variable is an Objective-C object. If it's a C string, use %s, and if it's any other C type, check out the printf reference.

    Alternatively, you can create a new string by appending a string to an existing string:

    NSString *hello = @"Hello";
    NSString *whatever = [hello stringByAppendingString:@", world!"];
    

    Note that NSString is immutable -- once you assign a value, you can't change it, only derive new objects. If you are going to be appending a lot to a string, you should probably use NSMutableString instead.

    0 讨论(0)
提交回复
热议问题