gpt4 book ai didi

objective-c - 格式为方法参数的字符串( objective-c )

转载 作者:搜寻专家 更新时间:2023-10-30 19:47:07 24 4
gpt4 key购买 nike

[NSString stringWithFormat:]; 可以接受多个参数,即使它被声明为 NSString 而不是 NSArray 并且只有一个冒号。

我如何才能将它用于我自己的方法,它就像是写入文本字段的 NSLog 的替代品,因此它经常被使用,我不想继续添加更多的方括号。

最佳答案

在参数名称后使用省略号:

 (NSNumber *) addValues:(int) count, ...;

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocDefiningClasses.html

然后您需要使用 va_listva_start 遍历提供的参数:

- (NSNumber *) addValues:(int) count, ...
{
va_list args;
va_start(args, count);

NSNumber *value;

double retval;

for( int i = 0; i < count; i++ )
{
value = va_arg(args, NSNumber *);

retval += [value doubleValue];

}

va_end(args);
return [NSNumber numberWithDouble:retval];
}

示例来自:http://numbergrinder.com/node/35

请注意,这是一个内置的 C 功能,而不是 Objective-C 的一部分;这里有对 va_arg 用法的很好解释:

http://publications.gbdirect.co.uk/c_book/chapter9/stdarg.html

关于objective-c - 格式为方法参数的字符串( objective-c ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4108887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com