objective-c - 枚举方法参数

标签 objective-c

有什么方法可以迭代 Objective-C 方法的方法参数吗?我需要在很多方法中进行大量错误检查,并且希望将其自动化,而不是检查单独出现的每个值。

我知道这可以用于参数数量可变的方法。但我特别在寻找一种方法来使用采用固定数量参数的方法来做到这一点。

- (void)myMethodWithArg1:(NSString *)arg1 arg2:(NSNumber *)arg3 NSError:(NSError **)err {

    // Get all arguments as array
    NSArray *args; // ???

    for (id arg in args) {
        // Do stuff with args ....
    }
}

最佳答案

您可以尝试以下方法。

- (void)myMethodWithArg1:(NSString *)arg1 arg2:(NSNumber *)arg3 NSError:(NSError **)err 
{
    NSArray *args = [[NSArray alloc] initWithObjects:arg1, arg2, err, nil];

    for(id arg in args) {

        if(arg) {
            // Your code that you want to do with each arg here.
        }
    }    

}

这里没有什么特别的,所有发生的事情是你用对象初始化一个 NSArray 对象作为你的参数,然后在 for 循环 中你是只是检查 arg 是什么,而不仅仅是 nilnull。在那个 for 循环 中,你又一次用那个参数做你想做的事,并确定它是什么。

如果这不是您想要的,请发表评论,我会进行修改以尽可能提供帮助。

关于objective-c - 枚举方法参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16647584/

相关文章:

ios - 如何以编程方式从 xib 更改 UITextView 的高度?

ios - 为什么在UIView上画线需要背景色?

iphone - UIview 的特定矩形可以有不同的 alpha..?

objective-c - 摆脱“由于设置了OBJC_DISABLE_GC而强制关闭GC”

objective-c - 生成不重复的随机数

ios - 将非常大的 NSDecimal 转换为字符串,例如。 400,000,000,000 -> 400 T 等等

ios Javascript OnClick 函数

objective-c - 如何注释 Objective-C API 以便在 Swift 中使用(例如返回类型)

iphone - iOS 上的 Facebook Connect - 图片不显示在墙贴中

objective-c - 更改@synchronized 部分中的锁定对象