您的位置:首页 > 移动开发 > IOS开发

iOS自定义多参数类型方法

2015-07-13 23:23 726 查看
<pre code_snippet_id="632950" snippet_file_name="blog_20150401_2_1264265" name="code" class="objc" style="border: 1px solid rgb(255, 255, 204); font-family: 'Courier New'; overflow: auto; font-size: 16px; line-height: 24px; background-color: rgb(255, 255, 252);">- (instancetype)initWithTitle:(NSString*)title message:(NSString*)message delegate:(id)delegate cancelButtonTitle:(NSString*)cancelButtonTitle otherButtonTitles:(NSString*)otherButtonTitles, ...
{
self = [super initWithFrame:CGRectMake(0, 0, JK_SCREEN_WIDTH, JK_SCREEN_HEIGHT)];
if (self) {
self.delegate = delegate;
self.title = title;
self.message = message;
self.cancelButtonTitle = cancelButtonTitle;
}

if (otherButtonTitles) {
[self.otherButtonTitles addObject:otherButtonTitles];

va_list argList;  //定义一个 va_list 指针来访问参数表
va_start(argList, otherButtonTitles);  //初始化 va_list,让它指向第一个变参,otherButtonTitles 这里是第一个参数,虽然加了s,它不是数组。
id arg;
while ((arg = va_arg(argList, id))) //调用 va_arg 依次取出 参数,它会自带指向下一个参数
{
[self.otherButtonTitles addObject:arg];
}
va_end(argList); // 收尾,记得关闭关闭 va_list
}

return self;
}


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: