【问题标题】:multiple argument list with NS_REQUIRES_NIL_TERMINATION带有 NS_REQUIRES_NIL_TERMINATION 的多个参数列表
【发布时间】:2011-02-12 09:46:32
【问题描述】:

我有一个函数 -(id) func: params1, ... NS_REQUIRES_NIL_TERMINATION and2: params2, ... NS_REQUIRES_NIL_TERMINATION;

编译器说:错误:预期的 `;'在'and2'之前 有没有办法用 2 个参数列表制作函数?

【问题讨论】:

    标签: objective-c xcode list variadic-functions arguments


    【解决方案1】:

    简单地说:不。这是不可能的。

    但是,有一个可用的解决方法;您可以改为将两个指向 id 的指针传递给以 nil 结尾的数组,如下所示:

    - (id)method:(id *)part_one withTwo:(id *)part_two
    

    编辑:作为替代方案,该列表可以是nil-终止两次。 (现在这很奇怪!)

    【讨论】:

    • 一点也不奇怪;您可以通过 NSDictionary、IIRC 看到它; - (id)initWithObjects:(id *)objects forKeys:(id *)keys count:(NSUInteger)count(这是一个类似的概念,但将计数作为优化。)
    • 触摸;为我自己辩护,我几乎NSDictionary 上使用该初始化程序。 ;)
    猜你喜欢
    • 2015-06-01
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 2014-02-20
    • 2018-10-23
    • 2011-10-11
    • 1970-01-01
    • 2017-11-20
    相关资源
    最近更新 更多