Variable length parameters in Objective-C

前端 未结 3 1681
我在风中等你
我在风中等你 2021-01-07 03:55

How can i make a class method with variable length parameters, in Objective-C?

For example, a method like -arrayWithObjects:

NSArray *array = [NSArra         


        
相关标签:
3条回答
  • 2021-01-07 04:25

    Methods that take variable arguments are known as variadic methods. The "..." is the variable argument.
    For example, your function declaration would be: - (void)specialWithX:(NSInteger)x y:(NSInteger)y, ...;

    For additional information take a look at Variable argument lists in Cocoa

    0 讨论(0)
  • 2021-01-07 04:33

    Take a look at varargs, e.g.: Apple Technical Q&A QA1405. It shouldn't matter whether the method is a class method or not.

    0 讨论(0)
  • 2021-01-07 04:42

    What you need is a variadic function. These functions take a flexible number of arguments, like NSLog, [NSArray arrayWithObjects:...], etc.

    See this tutorial:

    http://www.numbergrinder.com/node/35

    Copied from my answer here: Obj-C, trying to write an alternative to NSLog, but I want my function to concatenate like NSLog?

    0 讨论(0)
提交回复
热议问题