SWIFT
文章平均质量分 50
星宇大前端
大前端编程爱好者,开源爱好者。
展开
-
SwiftLint 规则
| identifier | opt-in | correctable | enabled in your config----------------------+| 以下是可选规则, 需要额外添加| attributes | yes | no |...原创 2020-04-17 14:20:31 · 792 阅读 · 0 评论 -
Swift 项目混编OC互调
OC Swift可以无缝衔接,实现互调。项目背景Swift 项目引用OC文件 Swift 调用OC这个应该都知道了,我们创建OC文件的时候回自动创建一个桥接文件。在这个桥接文件里#import "xxxi.h" 就可以在Swif文件里用了。 OC调用Swift在Build Setting里找到Swift Compiler 你会找到 Obeject-C ...原创 2019-11-28 16:27:41 · 547 阅读 · 0 评论 -
iOS CharacterSet(字符集)简单理解
通常我们在一些场景下会用到一个字符串是否包含某种特定字符,比如判断密码是否只包含数字,检查url是否有不规范字符,删除多余空格等操作CharacterSet简单描述CharacterSet是在Foundation框架下的一个结构体,用于搜索操作的一组Unicode字符值。概述字符集表示一组符合unicode的字符。基础类型使用字符集将字符组合在一起进行搜索操作,以便在搜索期间可以找到...原创 2019-03-25 14:59:34 · 5030 阅读 · 0 评论 -
ios 面向协议编程资源
WWDC视频原创 2018-09-11 08:42:56 · 824 阅读 · 0 评论 -
swift 获取控制器
///获取当前控制器func currentVc() ->UIViewController{ var vc = UIApplication.shared.keyWindow?.rootViewController if (vc?.isKind(of: UITabBarController.self))! { vc = (vc as! UITabBarC...原创 2018-07-16 09:21:21 · 2088 阅读 · 0 评论 -
iOS swift UISearchBar拿到textfield控件
目标:修改 UISearchBar textField 光标颜色 和 取消按钮颜色不一致。searchBar.barTintColor = UIColor.clearif let textfiled = searchBar.subviews.first?.subviews.last as? UITextField { textfiled.tintColor = UIColor...原创 2018-07-17 17:33:23 · 1024 阅读 · 0 评论 -
swift 类似高德地图和58同城上下滑动view
演示:代码地址: https://github.com/RainManGO/PanView主要在Xib中使用:xib的view直接绑定panview即可。如图:原创 2018-05-31 13:46:31 · 1421 阅读 · 0 评论 -
用Swift写服务端 — Perfect框架
用Swift写服务端 — Perfect框架学习(一)一、Perfect简介Perfect是一组完整、强大的工具箱、软件框架体系和Web应用服务器,可以在Linux、iOS和macOS (OS X)上使用。该软件体系为Swift工程师量身定制了一整套用于开发轻量、易维护、规模可扩展的Web应用及其它REST服务的解决方案,这样Swift工程师就可以实现同时在服务器和客户端上采用同一种语言开...原创 2018-09-29 08:57:40 · 1105 阅读 · 0 评论 -
swift 邮箱、密码、手机号、身份证验证正则
/验证邮箱 class func validateEmail(email: String) -> Bool { if email.count == 0 { return false } let emailRegex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2...原创 2018-10-29 09:48:42 · 2824 阅读 · 0 评论 -
iOS Xib工具库--XibKits(补充控件没有属性)
在工作中使用Xib非常简单高效,但是往往一些属性系统控件不能直接在Xib属性更改,这是一件非常扫兴的事情,由此我想写一个Xib工具库,扩展工作中遇到的属性,实现可视化更改。XibKitsXibKits是一个Xib可视化属性扩展工具库,目前已发布至Cocoapods,可点击链接到github查看详细说明。 安装pod 'XibKits'然后pod install&n...原创 2019-10-11 13:56:10 · 302 阅读 · 1 评论 -
Swift4.0 KVO监听不回调问题
KVO 在iOS应用场景还是挺多的, 虽然Swift新增属性观察器,但是在深层观察属性,KVO在一些场景还是比较方便。环境Swift Version:4.0Xcode:10.1 (10B61)iphoneOS:12.1 问题先看下代码,我要观察currentOrderNum这个属性的新值变化Model:class OrderModel: NSObject {...原创 2019-06-17 14:03:51 · 1228 阅读 · 0 评论 -
Swift 全局导入Module
我们有时候需要全局导入一个Module,因为这个组件在每个文件都使用很频繁。在OC的时代,PCH做的工作,Swift怎么办呢解决办法:在一个文件里@_exported import SVProgressHUD 一次,相当于全局导入。...原创 2019-03-28 13:49:29 · 2785 阅读 · 0 评论 -
Swift 小心字典Value等于nil(容易出错)
看书的时候看到下面一段代码: var dicWithNils:[String:Int?] = [ "one":1, "two":2, "none":nil]现在要求把two这个key的值变成nil 错误答案:dicWithNils["two"] = nil它将会把 “two” 这个键移除。 正确答案:我们可以使用下面中的任意一个来改变...原创 2019-04-10 16:17:38 · 2129 阅读 · 3 评论 -
Swift 使用lexicographicallyprecedes 多个参数排序
有时候我们需要用两个或者三个参数进行,排序比较。lexicographicallyprecedes函数介绍lexicographicallyprecedes可以看下苹果官方文档的介绍。这里简单说一下:func lexicographicallyPrecedes<OtherSequence>(_ other: OtherSequence) -> Bool where ...原创 2019-04-10 15:24:19 · 492 阅读 · 0 评论 -
Swift3.0项目升级到4.2遇到问题
Overriding non-@objc declarations from extensions is not supported原因: 不支持从扩展中覆盖non-@objc声明解决:将方法写到主类里Cannot subscript a value of type ‘[String : Any]’ with an index of type ‘UIImagePickerContro...原创 2019-03-26 17:09:14 · 2003 阅读 · 0 评论 -
iOS 客户端从服务器下载word文档,缓存并浏览(swift)
背景:服务器端通过接口返回word文档base64编码字符串客户端需求是缓存预览分享等 处理思路请求接口下载base64字符串base64解码转成Data在 Document创建文件夹,在文件夹下创建文件将Data写入文件使用QuickLook预览,展示。 下载和文件代码// 下载文件类// LoadFilesManager.swift...原创 2020-01-15 16:16:35 · 708 阅读 · 0 评论 -
swift 定位封装一句话使用
swift 定位的封装,使用一句话方便简单。闭包返回信息:定位Location+反编译地址信息+errorgit地址:https://github.com/RainManGO/LocationManager使用代码: LocationManager.shareManager.creatLocationManager().startLocation { (location, adress, erro...原创 2018-05-08 14:52:03 · 1215 阅读 · 2 评论 -
swift4.0 方法监听Selector写法总结
import UIKitclass MainViewController: UITabBarController { //MARK:属性 懒加载 lazy var composeBtn = UIButton(composeForeImageName: "tabbar_compose_icon_add", composeBackImageName: "tabbar_co原创 2018-02-02 13:51:30 · 3645 阅读 · 0 评论 -
Swift4.0 便利构造函数的写法
在UIButton 类扩展中添加新的便利构造函数如下:extension UIButton { convenience init(composeForeImageName:String,composeBackImageName:String){ self.init() setImage(UIImage.init(named: composeFo原创 2018-02-02 13:28:23 · 1339 阅读 · 1 评论 -
swift4.0 自定义LOG
我们在用OC开发的时候通过宏定义自定义打印,swift没有宏定义,那么我们只能这么自定义了。先贴下代码(因为容易理解没有备注):let APP_NAME = Bundle.main.infoDictionary!["CFBundleName"] as! Stringfunc ZYLOG(message:T,file:String = #file,funcName:Stri原创 2018-02-01 12:49:21 · 456 阅读 · 0 评论 -
swift 对象储存地址分析
前言: 开始学swift,大家不知道有没有我这个疑问,现在用let var 来给常量变量赋值,那么以前OC那些属性修饰符在swift 是怎么用呢? swift let var 是strong 强引用 是weak 弱引用 还是copy 呢。带着这个问题,测试分析一波。测试打印程序先定义一个打印对象地址方法:swift4.0打印内存地址的方法是: Unman原创 2018-01-31 15:20:59 · 5193 阅读 · 0 评论 -
Swift3.0 Alamofire初级应用
序:做过iOS开发的人肯定都知道AFN,现在Swift逐渐流行AFN团队又用Swift写了Alamofire。从头开始学习一下,看看新的Alamofire有什么性能的优化和不同。大家都知道Alamofire是一个HTTP的网络封装库,首先我们肯定要先知道用Alamofire我们可以干什么。功能特点1、请求连接,处理接受不同类型的返回2、 UR翻译 2017-07-07 13:34:45 · 1207 阅读 · 0 评论 -
Swift - 重写UIKit框架类的init初始化方法(以UITabBarController为例)
原来写了篇文章讲UITabBarController的用法,当时是从UIViewController跳转到UITabBarController页面,代码如下:1self.presentViewController(MainTabViewController(), animated:true, completion:nil)转载 2017-07-05 15:00:54 · 1640 阅读 · 0 评论 -
swift 框架大全
版本:Swiftgithub排名 https://github.com/trending,github搜索:https://github.com/search主要工作说明: 1. 将Swift从Objective-C混合的md文件中抽出(正在进行…)使用方法:根据目录关键字搜索,记得包含@,以保证搜索目录关键字的唯一性。问题反馈:请广大网友只按照目录结构(即使目转载 2017-06-26 11:27:09 · 12337 阅读 · 0 评论 -
Swift 编码规范
Swift 编码规范按大概的先后顺序,本文尝试做到以下几点:增进精确,减少程序员犯错的可能明确意图减少冗余减少关于美的争论如果你有什么建议,请看我们的 贡献导引,然后开个 pull request. ⚡️留空白用 tab,而非 空格文件结束时留一空行用足够的空行把代码分割成合理的块不要在一行结尾留下空白千万别在空行留下缩进能用 let 尽量用 let 而不是 var 尽可能的用 let foo =...转载 2018-02-09 12:41:16 · 917 阅读 · 0 评论 -
Swift 开源项目精选
Swift 开源项目精选站在个人的角度,并基于《Swift 语言指南》,针对开源项目做了一个甄别、筛选。当然,由于个人能力及涉足范围所限,还远远不够,其中肯定有偏颇及不足,还望同学们多多见谅。更希望能得到你的帮助和补充,共同参与。@SwiftLanguage 更新至 2016-2-1,最近新收录 Graph, Localize-Swift, Cuckoo, Gecco, AudioKit, vap...转载 2018-02-09 14:00:32 · 2884 阅读 · 0 评论 -
Swift4.0 访问权限
Swift 4.0访问权限关键字 目前有 open public internal fileprivate private 这五个访问权限,都可以修饰属性和方法。下面通过例子来分析五个访问权限的使用。不同点分析:是否可以被子类继承访问同文件不同类下是否可以访问不同文件是否可以被访问不同组件下是否可以被访问1、private被private修饰的属性和方法 ,只可以在该类下使用(ex...原创 2018-02-09 14:54:36 · 2062 阅读 · 0 评论 -
Swift 几种动态判断类的方法
拿手势冲突解决,举个例子第一种: OC之后常用的iskindoffunc gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool { NVRLOG(touch.view) if (touch.view?.isKind(o...原创 2018-05-25 09:41:26 · 2131 阅读 · 0 评论 -
iOS UMeng OC和Swift混编
iOS UMeng OC和Swift混编Swift调用Objective-C需要建立一个桥接头文件进行交互新建桥接头文件本例桥接文件命名为:UMengDemo-Bridging-Header.h设置Objective-C桥接文件导入SDK头文件在UMengDemo-Bridging-Header.h中加入U-Share SDK头文件://导入UMCommon的OC的头文件#import <...转载 2018-03-27 14:21:48 · 1179 阅读 · 0 评论 -
whose view is not in the window hierarchy!
今天遇到一个问题简单描述一下:需求:登录成功之后,需要判断是否绑定手机,没有绑定present一个手机页面,然后Tabbar切换到首页。这个需求还可以,但是业务里登录,注册,忘记密码等等都是modal出来的。所以登陆完之后不得不全部dissmiss掉,然后再通知到我的界面做相应操作。遇到问题: whose view is not in the window hierarchy!分析:也就是你现在的...原创 2018-03-22 10:03:17 · 1446 阅读 · 0 评论 -
swift4.0 星星评分starView封装,xib和纯代码使用方便简单
github:https://github.com/RainManGO/ZYStarViewZYStarView介绍Swift星星显示、选择的封装 XIb和纯代码均可使用(XIb体验极佳)功能支持星数设置: 在一块区域均分显示想要设定的星星设置星数计算单位:支持一星、半星、随意float定制显示显示动画设置: 点击星星显示动画回调: 星数设置完之后会返回当前星数作为回调支持xib: xib sto...原创 2018-03-31 10:33:44 · 1046 阅读 · 0 评论 -
Swift4.0 sorted(by:)函数理解(闭包$理解)
几句简单代码相信可以总结理解: override func viewDidLoad() { super.viewDidLoad() let names = ["AT", "AE", "D", "S", "BE"] let result1 = names.sorted(by:backwords) let result = name...原创 2018-02-22 10:41:32 · 3379 阅读 · 0 评论 -
Swift4.0 函数参数(内部外部参数和下划线在函数的作用)
import UIKitclass ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() funcDemo1(arg1: 2, arg2: 3) funcDemo2(a: 5, b: 2) funcDemo...原创 2018-02-22 10:08:59 · 1804 阅读 · 0 评论 -
swift4.0 对象数据源根据属性分组,时间排序
//dataArray:[OperationMaintenanceObject] 对象数组 func responsDeal(dataArray:[OperationMaintenanceObject]){ //可变集合 let operationSet = NSMutableSet() //遍历数组加进集合 for operatio...原创 2018-03-06 19:11:43 · 2410 阅读 · 0 评论 -
Swift4.0 KVC 字典赋值模型改变
我们都知道KVC 是OC NSobject特有的,之前在Swift4.0之前,继承NSobject的对象,可用动态的拿到字典调用KVC给模型赋值。只是比较省事的操作,有没有定义属性,只要从写UndefinedKey这个属性即可。 还是用代码演示比如下面一个对象,从字典赋值//// UserAccount.swift// WeiBo//// Created by 张宇 on原创 2018-02-06 17:14:03 · 2754 阅读 · 5 评论