火星人,1万小时法则的忠实拥趸。技术宅,象棋和羽毛球爱好者,马拉松PB成绩:4小时零8分。坚持认为算法是计算机的灵魂。喜欢解决问题,喜欢手工,喜欢与朋友们聊天喝酒吹牛X。
// 1.perform(必须在主线程中执行)self.perform(#selector(delayExecution), with: nil, afterDelay: 3)// 取消NSObject.cancelPreviousPerformRequests(withTarget: self)/
如果涉及到线程,线程间的同步、处理、线程一定涉及到线程锁。在Swift中,GDC已经不再流行,使用起来虽然比较容易理解,但是流程和步骤确实比较麻烦。新的包装DispatchQueue,DispatchSemaphore等等,已经非常之完善。可以用来控制线程同步和通讯。严格来说,本次要讲的Semaph
swift尽可能多的使用struct而不是class,因为struct是按值传递,class是按照引用传递所以在struct使用的时候需要多注意引用的保存。即便是class,也可能会存在引用的保存问题。例子:lass LztSocket: WebSocketDelegate { private
swift和oc一样,都是苹果的app研发语言,苹果推荐大家都使用https,所以难以避免的遇到ssl证书使用自签名证书的情况(测试服务器等情况)而自签名证书,在苹果看来,也是不安全的。所以默认情况下,是不能正常访问的。刚好做了一个App,使用swift访问https自签名服务器,记录一下处理方法。
使用swiftui制作app,导航使用NavigationView进行页面跳转的控制。跳转元素使用NavigationLink作为锚点进行页面跳转。遇到一个诡异的子页面被弹出问题。类似于聊天工具,首页有4个tab栏,有个消息栏,展示会话列表,点进去是聊天记录详情页。还有个通讯录页面,展示组织机构,机