Swift里关于String的方法,着实要吐槽下,很多方法又臭又长又复杂(比如Index、Range等等),不实用,一些常用的方法,又没有现成的实现,平时习惯了Java里的String方法,开发Swift很不习惯(这里说明下,我主业是Java程序员,也开发Android程序,后来也开始开发iOS程序,好多思维习惯是Java带过来的,可能并不怪Swift,怪我咯,但是相信也有一部分朋友也有和我一样的感受,那么请看下面我的扩展方法),好在Swift里有Extension可以扩展自用的方法,这边整理了一下自用String…

2021-02-18 0条评论 44点热度 0人点赞 admin 阅读全文

在做开发的时候,企划给的企划案里的颜色,可能是类似0x000000这样的字符串,或者我们根据屏幕颜色做拾取的时候,也是得到类似这样的字符串,但是我们在代码里生成UIColor的时候,就没有那么简单的方法,直接从0xFFFFFF这样构造出UIColor,UIColor的构造方法,需要RBGA4个参数,对我们程序员来说转换相对麻烦一点,并且后面再看看代码的时候,光从 rbg 的数值,也不能一眼看出来是什么: UIColor(red: <#T##CGFloat#>, green: <#T##CGFloa…

2021-01-24 0条评论 101点热度 0人点赞 admin 阅读全文

Swift5语法判断给定字符串是否是有效的Email地址,网上找到的使用NSDataDetector的方式应该有误,发现类似[email protected]这样的地址会判断为正确的Email地址,所以应该使用正则表达式比较保险,直接给出工具方法(2种方式): func isEmail(source: String) -> Bool { let emailRegEx = "[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,64}" let emailPredicate = NS…

2021-01-23 0条评论 49点热度 0人点赞 admin 阅读全文

现在手机号段比较多,简单点就判断是否以1开头的11位数字,如下: //简单点就看是否是1开头的数字吧 func isMobile(mobile:String?) -> Bool { if let trueMobile = mobile { var mobileReg = "^1\\d{10}$" var regextestmobile = NSPredicate(format: "SELF MATCHES %@",mobileReg) return regextestmobile.evaluateWithOb…

2021-01-18 0条评论 55点热度 0人点赞 admin 阅读全文

IOS开发搜索功能,需要监听输入框,用户实时输入便启动请求后台搜索结果,但是用户快速输入每一个单词,就触发一次服务器请求,有点浪费资源,且体验不好,做法是等待用户比如500ms后,再进行搜索请求,以下是Swift代码: import Foundation class Debouncer: NSObject { var callback: (() -> ()) var delay: Double weak var timer: Timer? init(delay: Double, callback: @esca…

2020-12-22 0条评论 270点热度 0人点赞 admin 阅读全文