变更记录

序号 录入时间 录入人 备注
1 2015-03-02 Alfred Jiang -
2 2015-12-21 Alfred Jiang -

方案名称

语法 - 类似 NSError 的引用传值实现

关键字

语法 \ NSError \ 引用传值 \ Objective-C 多值返回

需求场景

  1. 需要实现类似 NSError 的返回时

参考链接

(无)

详细内容

  1. 定义
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    - (BOOL)validatePassword:(NSString *)password
    failingRules:(out NSArray *__autoreleasing *)rules
    {
    NSArray *failingRules = [self.rules filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(id <NJOPasswordRule> rule, NSDictionary *bindings) {
    return [rule evaluateWithString:password];
    }]];

    if (rules) {
    *rules = failingRules;
    }

    return [failingRules count] == 0;
    }
  2. 调用
    1
    2
    3
    4
    NSArray *failingRules = nil;
    if ([self.validator validatePassword:password failingRules:&failingRules]) {
    //
    }

效果图

(无)

备注

(无)

Image_00001_20151217_00001