Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone-在目标c问题中创建变量函数_Iphone_Objective C_Function_Methods - Fatal编程技术网

iPhone-在目标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

我提到了在目标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
 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