自定义断言定义。检查 isKindOfClass: 和 conformsProtocol:。
等待的类型是 - NSMutableString 和当前 - NSString 实例
NSString *string = @"test";
HRKindOfClassAssert(NSMutableString, string);
等待的类型是 - Class 和当前 - Class
Class stringClass = [NSString class];
Class mutableStringClass = [NSMutableString class];
HRKindOfClassAssert(mutableStringClass, stringClass);
符合协议的地方是 - NSCopying 和当前 NSString 实例
NSString *string = @"test";
HRConformsToProtocolAssert(NSCopying, string);
符合协议的地方是 - Protocol 和当前 NSString 实例
NSString *string = @"test";
Protocol *copyingProtocol = @protocol(NSCopying);
HRConformsToProtocolTypeAssert(copyingProtocol, string);
在 HRKindOfClassAssert 的情况下,参数可以是实例,Class 类型实例或类名(如 NSString)。
在 HRConformsToProtocolAssert 的情况下,“等待”参数必须是协议名(如 NSCopying),“当前”参数可以是实例,Class 类型实例或类名(如 NSString)。
在 HRConformsToProtocolTypeAssert 的情况下,“等待”参数必须是 Protocol 类型实例,“当前”参数可以是实例,Class 类型实例或类名(如 NSString)。
Objective-C 和 iOS 7.0 或更高版本。
HRAssert 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中:
pod "HRAssert"
Ivan Shevelev,[email protected]
HRAssert 在 MIT 许可下提供。有关更多信息,请参阅 LICENSE 文件。