成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解Objective-C可變參數函數定義

移動開發 iOS
本文介紹的是了解Objective-C可變參數函數定義。詳細介紹了可變參數函數的定義,先來看詳細內容。

詳解Objective-C可變參數函數定義是本文有搜介紹的內容,在iPhone中涉及數據庫的操作的時候,在更新操作中要傳遞可變參數,這些可變參數其實就是數據庫語句,這樣在數據庫涉及的過程中,不利于數據和業務的分離,對此,我們可以對其提供的函數再包裝。

首先來看看Objective-C中對可變參數函數的定義、調用,eg:
  
Objective-C

.h文件
  
 

  1.    @interface sqlHelper : NSObject  
  2.    {  
  3.    }  
  4.    -(int) executeInsertWithSql:(NSString *) statement, ...;  
  5.   @end  
  6.      .m文件  
  7.   -(int) executeInsertWithSql:(NSString *) statement, ...  
  8.   {  
  9.       PLSqliteDatabase* dbPointer = [SqliteDataBase setUp];  
  10.       argsArray = [[NSMutableArray alloc] init];  
  11.       id arg;  
  12.       va_list argList;  
  13.       if(statement)  
  14.             {  
  15.                    va_start(argList,statement);  
  16.                    while (arg = va_arg(argList,id))  
  17.                    {  
  18.                          [argsArray addObject:arg];  
  19.                    }  
  20.                    va_end(argList);  
  21.             }   
  22.                        BOOL bResult = [dbPointer executeUpdate:statement,[argsArray objectAtIndex:0],[argsArray  objectAtIndex:1]];  
  23.              return bResult;  
  24.           }  

C語言庫文件

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

va_start(argList,statement):使參數列表指針arg_ptr指向函數參數列表中的第一個可選參數,說明:argN是位于第一個可選參數之前的固定參數,(或者說,最后一個 固定參數;…之前的一個參數),函數參數列表中參數在內存中的順序與函數聲明時的順序是一致的。如果有一va函數的聲明是void va_test(char a, char b, char c, …),則它的固定參數依次是a,b,c,最后一個固定參數argN為c,因此就是va_start(arg_ptr, c)。

  1. va_arg(argList,id):返回參數列表中指針arg_ptr所指的參數,返回類型為type,并使指針arg_ptr指向參數列表中下一個參數。  
  2. va_end(arg_ptr):清空參數列表,并置參數指針arg_ptr無效。 

在調用的時候要在參數結尾的時候加nil

  1. sqlHelper *sqlCom = [[sqlHelper alloc] init];  
  2. [sqlCom executeInsertWithSql:@"INSERT INTO authorInfo(author,age) VALUES (?,?)",@"cheungching",@"25", nil]; 

小結:詳解Objective-C可變參數函數定義的內容介紹完了,希望本文對你有所幫助!

責任編輯:zhaolei 來源: 博客園
相關推薦

2011-08-17 10:58:59

Objective-C構造函數

2011-07-29 16:16:30

Objective-c block

2011-08-04 11:15:46

Objective-C 構造函數 構造方法

2015-10-08 10:01:10

Objective-CLayout

2011-07-18 16:36:51

Objective-C XCode

2014-04-01 10:50:42

iOS開發runtimeObjective-C

2011-08-17 10:29:39

Objective-C預處理

2011-08-15 17:29:36

Objective-C構造函數

2011-08-04 13:38:01

Objective-C C++

2011-07-27 16:55:12

Objective-c 閉包

2011-08-15 14:32:42

Objective-C委托協議

2011-08-17 11:05:22

Objective-C方法

2014-04-28 09:56:56

Objective-CiOS命名空間

2011-07-08 18:44:09

Objective-C Self Super

2011-08-16 13:43:40

Objective-C文件cocoa

2011-08-16 10:23:04

Objective-CNSAutoreleaXcode常用鍵

2011-07-29 15:47:21

iPhone開發 Objective- C

2011-08-10 18:07:29

Objective-C反射

2011-08-04 10:04:17

Objective-C 分類 協議

2011-08-04 18:14:42

Objective-C 消息
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲乱码一区二区三区在线观看 | 一区二区三区不卡视频 | 国产日韩欧美综合 | 一级在线毛片 | 亚洲网址| 欧美一区二区三区免费电影 | 四虎影音| 久久久久黑人 | 国产成人在线一区 | 久久新 | 热久久免费视频 | 99精品国产一区二区三区 | 久久大 | 亚洲人成人一区二区在线观看 | 国产免费麻豆视频 | 91欧美精品成人综合在线观看 | 青娱乐一区二区 | 久久99精品久久久久子伦 | 久久精品91久久久久久再现 | 国产精品久久久久久久久久免费看 | 久热伊人 | 精品久久久久久红码专区 | 国产精品18久久久久久白浆动漫 | 中文字幕人成人 | 国产精品亚洲综合 | 亚洲精品一区二区 | 一区二区国产精品 | 中文字幕在线不卡播放 | 国产精品久久久久久久久久久久 | 日韩视频国产 | 国产美女免费视频 | 久久久精品一区 | 国产在线一区二 | 欧美久久久久久久 | 欧美一区二区成人 | 91成人在线 | 日韩三片 | 一区二区精品视频 | 成人午夜影院 | 精品欧美一区二区三区免费观看 | 91精品国产综合久久福利软件 |