objective c 可變引數

2022-03-18 20:07:44 字數 619 閱讀 1260

容易發現cocoa foundation 中提供了一些可變引數的方法,如:

nslog(nsstring *format, ...)
在實際的程式設計實踐中,我們也需要自己實現可變引數的方法。在objc中,是依靠原生c庫來的實現的。

請看示例:

1 - (void) dolog:(nsstring *)formatstr, ... 

2223

va_end(arglist);

2425}26

2728

29for (nsstring *str in

arr)

3435

3637 }

view code

下面就**段中用的c方法一一說明;

1. va_list arglist:定義乙個指向個數可變的引數列表指標;

2. va_start(ap, param)param是第乙個可選引數前的固定引數,va_start 使指標指向第乙個可選引數;

3. va_arg(ap, type)返回引數列表中指標ap所指的引數,返回型別為type,並使指標ap指向引數列表中下乙個引數;

4. va_end(ap) 清空引數列表,並置引數指標ap無效.

ios開發Objective C可變引數函式

首先作為乙個coder 很多時候會遇到自己不能解決的問題需要上網查資料,而且不知道我自己水平沒能理解 還是演示demo就有問題,或者大家都沒發現的乙個問題。這裡重新按照自己的理解重新寫乙個使用oc可變引數函式的方法。本人能力有限,如果遇到錯誤或 問題,麻煩大家指出 nsarray actionuse...

可變引數列印 解析可變引數

1.的一般用法 define str s s define cons a,b int a e b int main 2.接受,列印可變引數 參考 glibc庫的bebug函式 define printf fmt,args.printf fmt,args 使用方法 define pr debug fm...

可變引數 函式 可變引數列表 1

我們在c語言程式設計中有時會遇到一些引數個數可變的函式,即函式的入參個數和型別是不確定的,例如printf 函式,其函式原型為 int printf char format,它除了有乙個引數format固定以外,後面跟的引數的個數和型別是可變的 用三個點 做引數佔位符 實際呼叫時可以有以下的形式 p...