LinkBlock objc的链式编程框架 项目简介
这是objc的链式编程框架,旨在保护编码时易被干扰的注意力//LinkBlock(objective-c ) , to chain programming. Like "viewFrame(10,10,30,30).viewAddTo(self.view).nslog()... ".Just for coding quickly!LinkBlock 是:这是一个objc扩展集合链式编程,为的是告别换行和中括号,避免多余的干扰,让我们可以专注于编码的逻辑。提炼Fundation最基本功能和最常见功能的写法。持续更新示例代码://去空格和换行,并打印
@" 吴 倩 莲 的 风 和 欲 啊 \r\n 唱 了 多 少 萌 ".strClearSpaceAndWrap().nslog();
//字符串比较大小
@"123".strCompare(@"111");
//对数字敏感的字符串比较
@"abc1.txt".strCompareNumberSensitive(@"abc2.txt");
//查找最大数
@"[12,43,534]".strToNSArrary(NSUTF8StringEncoding)
.arrMaxNumberFind().nslogTitle(@"最大数是:\n");
//添加一个标签到视图上,并且文本顶部对齐,中间对齐
UILabel* lab = [UILabel new];
lab.frame = @"{{20,150},{150,100}}".strToCGRect();
linkObj(lab).labText(@"中间对齐顶部对齐").labNumberOfLines(0).labAlignment(NSTextAlignmentCenter)
.labAlignTop().viewAddToView(self.view).viewBGColor(@"f0f0f0".strToUIColorFromHexStr());
//字符串常量直接转颜色
@"0xff22cc".strToColorFromHexStr();
//正则表达式替换_xxx_为[xxx]
@"name=_boom_".strRegexReplace(@"(_)(\\w+)(_)" , @"[$2]").nslog();
//正则表达式验证是否为邮箱
@"[email protected]".strRegexIsMatch(@"^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*
[a-z0-9]+.){1,63}[a-z0-9]+$") ? @"YES email".nslog() : @"NO email".nslog();
//数组过滤
NSArray* arrForFilter = @[ @{@"name":@"ali", @"age":@(123)} ,
@{@"name":@"bli", @"age":@(0)} ,
@{@"name":@"cli", @"age":@(12)} ,
@{@"name":@"dli", @"age":@(-45)} ];
//过滤age<0的数据
arrForFilter.arrFilter(@"age<0").nslog();
//过滤age<100 并且 age>-1 的数据
[arrForFilter arrEnumerateWithPredicateFormat:@"age>-1 and age<100"
usingBlock:^(NSObject* obj, NSUInteger idx, BOOL *stop) {
obj.nslog();
}];
@" 吴 倩 莲 的 风 和 欲 啊 \r\n 唱 了 多 少 萌 ".strClearSpaceAndWrap().nslog();
//字符串比较大小
@"123".strCompare(@"111");
//对数字敏感的字符串比较
@"abc1.txt".strCompareNumberSensitive(@"abc2.txt");
//查找最大数
@"[12,43,534]".strToNSArrary(NSUTF8StringEncoding)
.arrMaxNumberFind().nslogTitle(@"最大数是:\n");
//添加一个标签到视图上,并且文本顶部对齐,中间对齐
UILabel* lab = [UILabel new];
lab.frame = @"{{20,150},{150,100}}".strToCGRect();
linkObj(lab).labText(@"中间对齐顶部对齐").labNumberOfLines(0).labAlignment(NSTextAlignmentCenter)
.labAlignTop().viewAddToView(self.view).viewBGColor(@"f0f0f0".strToUIColorFromHexStr());
//字符串常量直接转颜色
@"0xff22cc".strToColorFromHexStr();
//正则表达式替换_xxx_为[xxx]
@"name=_boom_".strRegexReplace(@"(_)(\\w+)(_)" , @"[$2]").nslog();
//正则表达式验证是否为邮箱
@"[email protected]".strRegexIsMatch(@"^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*
[a-z0-9]+.){1,63}[a-z0-9]+$") ? @"YES email".nslog() : @"NO email".nslog();
//数组过滤
NSArray* arrForFilter = @[ @{@"name":@"ali", @"age":@(123)} ,
@{@"name":@"bli", @"age":@(0)} ,
@{@"name":@"cli", @"age":@(12)} ,
@{@"name":@"dli", @"age":@(-45)} ];
//过滤age<0的数据
arrForFilter.arrFilter(@"age<0").nslog();
//过滤age<100 并且 age>-1 的数据
[arrForFilter arrEnumerateWithPredicateFormat:@"age>-1 and age<100"
usingBlock:^(NSObject* obj, NSUInteger idx, BOOL *stop) {
obj.nslog();
}];