iPhone-在目标c问题中创建变量函数
我提到了在目标C中创建变量函数。 我通过传递如下参数测试了您的代码:iPhone-在目标c问题中创建变量函数,iphone,objective-c,function,methods,Iphone,Objective C,Function,Methods,我提到了在目标C中创建变量函数。 我通过传递如下参数测试了您的代码: [self logMessage:@"string: %@\n number: %@\n image: %@", @"asdf", [NSNumber numberWithInt:23], [UIImage imageNamed:@"local.png"]]; 并使用NSLog()编辑代码 但结果如下: 2012-09-28 19:34:45.271 SIMO[2384:c07] string: asdf numbe
[self logMessage:@"string: %@\n number: %@\n image: %@",
@"asdf",
[NSNumber numberWithInt:23],
[UIImage imageNamed:@"local.png"]];
并使用NSLog()编辑代码
但结果如下:
2012-09-28 19:34:45.271 SIMO[2384:c07] string: asdf
number: 23
image: <UIImage: 0x8151f80>
2012-09-28 19:34:45.273 SIMO[2384:c07] val: 1
2012-09-28 19:34:45.273 SIMO[2384:c07] val: 2
2012-09-28 19:34:45.274 SIMO[2384:c07] val: 3
2012-09-28 19:34:45.274 SIMO[2384:c07] val: 4
2012-09-28 19:34:45.274 SIMO[2384:c07] val: 5
2012-09-28 19:34:45.275 SIMO[2384:c07] val: 6
2012-09-28 19:34:45.275 SIMO[2384:c07] val: 7
2012-09-28 19:34:45.276 SIMO[2384:c07] val: 8
2012-09-2819:34:45.271 SIMO[2384:c07]字符串:asdf
电话:23
图片:
2012-09-2819:34:45.273西莫[2384:c07]瓦尔:1
2012-09-2819:34:45.273西莫[2384:c07]瓦尔:2
2012-09-2819:34:45.274西莫[2384:c07]瓦尔:3
2012-09-2819:34:45.274西莫[2384:c07]瓦尔:4
2012-09-2819:34:45.274西莫[2384:c07]瓦尔:5
2012-09-2819:34:45.275西莫[2384:c07]瓦尔:6
2012-09-2819:34:45.275西莫[2384:c07]瓦尔:7
2012-09-2819:34:45.276西莫[2384:c07]瓦尔:8
这说明参数是8,但我只传递了3(NSString、NSNumber、UIImage)
我不能理解这个概念。。你能澄清一下吗
谁能澄清一下这一点吗
va_arg
真的不知道参数列表何时结束。您正在使用的方法期望参数列表以nil
终止,如+[NSArray arraywhithobjects:][/code>
因此,要么将调用更改为在参数列表末尾添加nil
,要么找到其他方法来知道参数何时结束(例如,对于printf克隆,您可能从格式字符串本身知道格式参数的数量)
2012-09-28 19:34:45.271 SIMO[2384:c07] string: asdf
number: 23
image: <UIImage: 0x8151f80>
2012-09-28 19:34:45.273 SIMO[2384:c07] val: 1
2012-09-28 19:34:45.273 SIMO[2384:c07] val: 2
2012-09-28 19:34:45.274 SIMO[2384:c07] val: 3
2012-09-28 19:34:45.274 SIMO[2384:c07] val: 4
2012-09-28 19:34:45.274 SIMO[2384:c07] val: 5
2012-09-28 19:34:45.275 SIMO[2384:c07] val: 6
2012-09-28 19:34:45.275 SIMO[2384:c07] val: 7
2012-09-28 19:34:45.276 SIMO[2384:c07] val: 8