创建一个接受字符串格式Cocoa的方法

时间:2010-08-12 17:59:06

标签: objective-c cocoa

如何在Objective-C中创建一个接受NSString格式的方法(使用逗号分隔的参数列表列表替换为格式)。类似的东西:

// Hello Kevin
NSString *name = @"Kevin";
[NSString stringWithFormat:@"Hello %@", name];

2 个答案:

答案 0 :(得分:6)

您正在寻找的内容称为Variadic Function,在Objective-C中,您可以编写如下内容:

- (NSString *) stringWithFormat:(NSString ) format, ... { }

您可以使用此excellent example for Objective-C variadic functions了解更多详情。

答案 1 :(得分:1)

这些是可变参数。

@interface Foo {}
-(void)myVariadicMethod:...;
@end

@implementation Foo

-(void)myVariadicMethod:...
{
 va_list arguments;
    // _cmd is a hidden argument all Objective-C methods receive
 va_start(arguements, _cmd);

 // same as for a C function: use va_arg

 va_end(arguments);
}

@end

省略号必须始终是您的方法接受的最后一个“参数”。