NSString的stringWithFormat的简写类似于@ [],@ {},@()的NSArrays,NSDictionaries和NSNumbers?

Ada*_*eld 1 macros objective-c nsstring

我的问题分为两部分:

  1. 是否有通过stringWithFormat创建NSStrings的简写:类似于标题中提到的创建数组,字典和数字的简写.有点像:

NSString *bar = @"bar"; NSString *foobar = @<@"foo %@", bar>

  1. 如果没有,是否有可能创建这些缩写,如果是,如何?

我在整个项目中使用了stringWithFormat方法,我认为这对代码简单性和整洁性都非常有用.

Bry*_*hen 5

没有这样的简写,但你可以创建一个辅助函数

static inline NSString *CreateStr(NSString *format, ...) NS_FORMAT_FUNCTION(1,2) {
    va_list ap;
    va_start(ap, format);

    NSString *message = [[NSString alloc] initWithFormat:format arguments:ap];

    va_end(ap);
    return message;
}
Run Code Online (Sandbox Code Playgroud)

用得像

NSString *bar = @"bar";
NSString *foobar = CreateStr(@"foo %@", bar);
Run Code Online (Sandbox Code Playgroud)