你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS 中可變參數方法的聲明和實現

iOS 中可變參數方法的聲明和實現

編輯:IOS開發綜合
// NS_REQUIRES_NIL_TERMINATION, 用於編譯時非nil結尾的檢查
- (void)mutableArgumentsFunction:(NSString *)arg1, ... NS_REQUIRES_NIL_TERMINATION
{
    // 定義一個指向可選參數列表的指針
    va_list args;
    
    // 獲取第一個可選參數的地址,此時參數列表指針指向函數參數列表中的第一個可選參數
    va_start(args, arg1);
    if(arg1)
    {
        // 遍歷參數列表中的參數,並使參數列表指針指向參數列表中的下一個參數
        NSString *nextArg;
        while((nextArg = va_arg(args, NSString *)))
        {
            NSLog(@"ARG :%@", nextArg);
        }
    }
    // 結束可變參數的獲取(清空參數列表)
    va_end(args);
}


特別注意:

1.可變參數只能是所有參數中的最後一個

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

應用場景:

1.重寫UIAlertView時可以參考一下這個方法

2.重寫NSLog

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