国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

objective-c可變參數(shù)

2019-11-14 20:30:56
字體:
供稿:網(wǎng)友

容易發(fā)現(xiàn)Cocoa Foundation 中提供了一些可變參數(shù)的方法,如:

NSLog(NSString *format, ...) 

 

在實際的編程實踐中,我們也需要自己實現(xiàn)可變參數(shù)的方法。在Objc中,是依靠原生C庫來的實現(xiàn)的。

請看示例:

 

 1 - (void) doLog:(NSString *)formatStr, ... { 2  3     NSMutableArray *arr = [[NSMutableArray alloc]init]; 4  5     NSString *arg; 6  7     va_list argList; 8  9     if(formatStr)10 11     {12 13         va_start(argList, formatStr);14 15         while ((arg = va_arg(argList, NSString*)))16 17         {18 19             [arr addObject:arg];20 21         }22 23         va_end(argList);24 25     }26 27     28 29     for (NSString *str in arr) {30 31         NSLog(@"%@", str);32 33     }34 35  36 37 }
View Code

 

下面就代碼段中用的C方法一一說明;

1. va_list argList:定義一個指向個數(shù)可變的參數(shù)列表指針;

2. va_start(ap, param)param是第一個可選參數(shù)前的固定參數(shù),va_start 使指針指向第一個可選參數(shù);

3. va_arg(ap, type)返回參數(shù)列表中指針ap所指的參數(shù),返回類型為type,并使指針ap指向參數(shù)列表中下一個參數(shù);

4. va_end(ap) 清空參數(shù)列表,并置參數(shù)指針ap無效.


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 城固县| 长岛县| 阿城市| 光泽县| 来宾市| 大竹县| 赤城县| 高淳县| 历史| 平谷区| 清原| 贵德县| 石阡县| 黄石市| 化隆| 三门峡市| 寿光市| 闻喜县| 汝南县| 金沙县| 阿拉尔市| 长兴县| 舞钢市| 抚州市| 苍山县| 原阳县| 铜鼓县| 宁安市| 肇庆市| 鱼台县| 邵东县| 苏尼特右旗| 寿阳县| 重庆市| 剑河县| 龙游县| 福贡县| 淳化县| 宽甸| 泉州市| 哈巴河县|