objective-c如何回调可变参数函数(方法),参数无限个

zhengyunQ 2016-04-05 03:26:29
我想自定UIActionSheet但的我不知道如何调用它原本的初始方法:
initWithTitle:(nullable NSString *)title delegate:(nullable id<UIActionSheetDelegate>)delegate cancelButtonTitle:(nullable NSString *)cancelButtonTitle destructiveButtonTitle:(nullable NSString *)destructiveButtonTitle otherButtonTitles:(nullable NSString *)otherButtonTitles, ...
我知道用va_list可能拿到传进来的参数列表,但是不知道如何传递参数列表给父类。自定义类的初始函数:
-(id)initWithTitle:(NSString *)title message:(NSString *)message cancelButtonTitle:(nullable NSString *)cancelButtonTitle destructiveButtonTitle:(nullable NSString *)destructiveButtonTitle buttonClick:(SheetButtonClick)click otherButtonTitles:(nullable NSString *)otherButtonTitles, ...
{
//xcode提示语法有错
self=[super initWithTitle:title delegate:self cancelButtonTitle:cancelButtonTitle destructiveButtonTitle:destructiveButtonTitle otherButtonTitles:otherButtonTitles,...,nil];
return self;
}

还有一种写法:
-(id)initWithTitle:(NSString *)title message:(NSString *)message cancelButtonTitle:(nullable NSString *)cancelButtonTitle destructiveButtonTitle:(nullable NSString *)destructiveButtonTitle buttonClick:(SheetButtonClick)click otherButtonTitles:(nullable NSString *)otherButtonTitles, ...
{
//把...替换为(va_list)params,通过编译但运行会出错
va_list params;
self=[super initWithTitle:title delegate:self cancelButtonTitle:cancelButtonTitle destructiveButtonTitle:destructiveButtonTitle otherButtonTitles:otherButtonTitles,params,nil];
return self;
}
...全文
271 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
不担心 2016-04-05
  • 打赏
  • 举报
回复
self=[super initWithTitle:title delegate:self cancelButtonTitle:cancelButtonTitle destructiveButtonTitle:destructiveButtonTitle otherButtonTitles:otherButtonTitles]; 这样试试

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧