你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> IOS 多個未知參數

IOS 多個未知參數

編輯:關於IOS

- (void)setGradientColor:(UIColor *)beginColor transitionColor:(UIColor *)transitionColor,...NS_REQUIRES_NIL_TERMINATION  ;

// NS_REQUIRES_NIL_TERMINATION, 用於編譯時非nil結尾的檢查

- (void)setGradientColor:(UIColor *)beginColor transitionColor:(UIColor *)transitionColor, ...{

[self.gradientColors addObject:(id)beginColor.CGColor];

// 定義一個指向可選參數列表的指針

va_list args;

 

// 獲取第一個可選參數的地址,此時參數列表指針指向函數參數列表中的第一個可選參數

va_start(args, transitionColor);

 

if(transitionColor)

{

[self.gradientColors addObject:(id)transitionColor.CGColor];

 

// 遍歷參數列表中的參數,並使參數列表指針指向參數列表中的下一個參數

UIColor *nextArg;

while((nextArg = va_arg(args, UIColor *)))

{

[self.gradientColors addObject:(id)nextArg.CGColor];

}

}

// 結束可變參數的獲取(清空參數列表)

va_end(args);

}

[drawCircleView setGradientColor:[UIColor purpleColor] transitionColor:[UIColor redColor],[UIColor blueColor], nil];

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved