PropertySanitizer version 0.1.0

PropertySanitizer 0.1.0

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最後发布2015年4月

Oleg Poyaganov 维护。



验证对象属性值是否符合类和协议。

描述

PropertySanitizer 被编写来解决 Objective-C 动态性问题。当你从服务器 API 响应中解析 JSON 并且你不确定运行时的属性类型时,你应该检查你的模型属性,以便使你的应用程序在某处 UI 层崩溃之前失败。

例如

@class Account : NSObject

@property (nonatomic, strong) NSNumber *balance;
...

@end

account.balance = [JSONDictionary valueForKey:@"user_balance"]; // May fail if "user_balance" is string

使用方法

要运行示例项目,首先克隆仓库,然后从 Example 目录运行 pod install

该库有一个用于验证的方法

@interface NSObject (PRSSanitizer)

- (BOOL)prs_validatePropertiesValuesWithError:(NSError * __autoreleasing *)error;

@end

示例

account.balance = [JSONDictionary valueForKey:@"user_balance"]; // May fail if "user_balance" is string
NSError *validationError;
BOOL valid = [account prs_validatePropertiesValuesWithError:&validationError];
if (valid) {
    // Everythind is ok
} else {
    // You can check for actual error code
    if ([checkError.domain isEqualToString:PRSSanitizerErrorDomain] && 
         checkError.copy == PRSSanitizerErrorValueInvalidClass) {
        // Invalid class error
    }
}

有关错误代码,请查阅 NSObject+PRSSanitizer.h 文件。

要求

- Supported build target - iOS 8.3
- Earliest supported deployment target - iOS 7.0

安装

PropertySanitizer 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod "PropertySanitizer"

作者

Oleg Poyaganov, [email protected]

许可证

PropertySanitizer 在 MIT 许可证下提供。有关更多信息,请参阅 LICENSE 文件。