https://gist.github.com/ruandao/65198fb651f28bd6bf84
|
|
|
|
| + (NSString *)downloadUrlWithUserEmail:(NSString *)email, ... { |
| |
| NSMutableArray *argsArr = [@[] mutableCopy]; |
| |
| va_list params; |
| va_start(params, email); |
| id arg; |
| if (email) { |
| //将第一个参数添加到array |
| id prev = email; |
| [argsArr addObject:prev]; |
| |
| //va_arg 指向下一个参数地址 |
| //这里问题的所在,网上的例子,没有保存第一个参数地址,后面循环,指针将不会再指向第一个参数 |
| while ( (arg = va_arg(params, id) ) ) { |
| if (arg) { |
| [argsArr addObject:arg]; |
| } |
| } |
| // 置空 |
| va_end(params); |
| } |
| switch ([argsArr count]) { |
| case 2: |
| { |
| return [self arenaUrlWithUserEmail:argsArr[0] withArenaIndex:argsArr[1]]; |
| break; |
| } |
| case 3: { |
| return [self mapUrlWithUserEmail:argsArr[0] withArenaIndex:argsArr[1] withMapIndex:argsArr[2]]; |
| break; |
| } |
| case 4: { |
| return [self markUrlWithUserEmail:argsArr[0] withArenaIndex:argsArr[1] withMapIndex:argsArr[2] withMarkIndex:argsArr[3]]; |
| break; |
| } |
| |
| default: |
| break; |
| } |
| return nil; |
| } |
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。