您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页一点转载别人的小技巧

一点转载别人的小技巧

来源:二三娱乐

作者:钟颖Cyan

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

1. 扫码

在 iOS 上面实现扫码简直不要太简单,包括二维码、条形码在内的几十种码直接用AVFoundation框架就处理完了,前后代码一共十几行。

2. 二维码 Encode & Decode

一个字符串生成二维码,用CoreImage里面的 filter 就可以了:

+(CIImage*)CIImageWithQRCode:(NSString*)qrcode{NSData*data=[qrcodedataUsingEncoding:NSUTF8StringEncoding];CIFilter*filter=[CIFilterfilterWithName:@"CIQRCodeGenerator"];[filtersetValue:dataforKey:@"inputMessage"];[filtersetValue:@"M"forKey:@"inputCorrectionLevel"];returnfilter.outputImage;}

反过来也是一样容易,使用CIDetector:

-(NSString*)decodeQRCode{CIDetector*detector=[CIDetectordetectorOfType:CIDetectorTypeQRCodecontext:niloptions:@{CIDetectorAccuracy:CIDetectorAccuracyHigh}];NSArray*features=[detectorfeaturesInImage:[[CIImagealloc]initWithImage:self]];NSMutableString*result=[NSMutableStringstring];for(CIQRCodeFeature*featureinfeatures){[resultappendString:feature.messageString];}returnresult;}

Key-Value-Coding绝对是 iOS 里面极其有意思的一个东西,例如说一个 NSArray 可以通过这样的方式返回一个不重复的 NSArray:

NSArray*array=@[@1,@2,@1,@2,@3];NSArray*unique=[arrayvalueForKeyPath:@"@distinctUnionOfObjects.self"];

4. 自觉的 boolValue 方法

一直以来我都以为 boolValue 只能处理只包含数字的 NSString,后来我发现下面这些都是 NO:

@"0".boolValue

@"false".boolValue

@"FaLsE".boolValue

@"NO".boolValue

@"No".boolValue

而这些都是 YES:

@"1".boolValue

@"true".boolValue

@"TruE".boolValue

@"YES".boolValue

@"YeS".boolValue

@"T".boolValue

作者:钟颖Cyan

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务