
Swift开发
Swift与Objective-C同为iOS开发语言,Swift渐渐成为趋势
Holothurian
千里之行跬步起、江海之成小流积。有志始知蓬莱近、无为总觉咫尺远。
展开
-
Swift中构造方法的特点
Swift中构造方法的特点。原创 2023-03-20 16:47:27 · 300 阅读 · 0 评论 -
Swift中定义的存储属性和计算属性有什么区别
Swift中定义的存储属性和计算属性有什么区别?原创 2023-03-20 16:31:53 · 192 阅读 · 0 评论 -
Swift中结构体和类有什么异同
在Swift中结构体和类都可以定义方法和属性原创 2023-03-20 16:26:22 · 102 阅读 · 0 评论 -
Swift函数派发机制
Swift派发的目的是让CPU知道被调用的函数在哪里,Swift语言支持编译型语言的直接派发,函数表派发,消息机制派发这三种派发机制.原创 2023-03-20 16:20:42 · 681 阅读 · 0 评论 -
Swift中 convenience init(frame:CGRect)方法报错
环境: macOS Catalina 10.15.7、 Xcode 12.1封装了个View: Just like thisoverride init(frame: CGRect) { super.init(frame: frame) self.configureView()}需求来咯:另一个模块也需要使用相同的View;区别在View设置的角标和标题;所以设置了个简单的flag、使用便利构造器 convenience 、大概酱紫。 convenience ini原创 2020-12-10 10:11:54 · 964 阅读 · 0 评论 -
编译Swift源码报错问题UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe9 in position 25: ordinal not in
1、路径中带有中文导致出现UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 25: ordinal not in range(128) 错误。中文超出 ascii编码方式128范围。holo@holo-iMac 苹果源码 % ./swift/utils/update-checkout --cloneTraceback (most recent call last): File "./swift/ut...原创 2020-11-18 09:47:37 · 314 阅读 · 0 评论 -
The layer is using dynamic shadows which are expensive to render.
查看视图图层的时候报出这个警告没有设置shadowPath导致了离屏渲染那么原代码不用变、设置上这个属性警告就消失了contentView.layer.shadowPath = UIBezierPath(rect: contentView.bounds).cgPath原创 2020-10-27 11:20:13 · 4563 阅读 · 3 评论 -
封装Moya请求库后手动解析数据
封装了个网络请求库、但是想要手动解析、调出了方法、需要处理的是response中的data数据了NetWorking是自己封装的类的名字let ApiProvider = MoyaProvider<NetWorking>(requestClosure:timeoutClosure) let idArr:[String] = ["77","73" ,"74" ,"76" ...原创 2019-08-26 09:29:56 · 942 阅读 · 0 评论 -
Swift抖动动画
一、直接实现某个视图的持续抖动、只需要给视图的layer添加动画就行。 /// 直接实现 /// - Parameters: /// - repeatCount: 重复次数 /// - duration: 持续时间 /// - values: //抖动幅度数组:不需要太大:从-15度 到 15度、再回到原位置、为一个抖动周期 /// - Returns: 返回动画 CAKeyframeAnimation func shakeAnima原创 2020-06-03 17:43:55 · 1607 阅读 · 0 评论 -
Swift心跳动画
实现心跳动画、就是将视图放大缩小的效果一、通过Timer或者DispatchSource.makeTimerSource(flags: [], queue: DispatchQueue.global())或者 CADisplayLink 去写个定时器咯、然后@selector(handle:)事件里边执行UIView.animate(withDuration: 1.0, animations: {}) { (finished:Bool) in}动画、将要心跳的视图的fram原创 2020-05-30 12:00:55 · 891 阅读 · 0 评论 -
iOS中粘贴板复制链接简单使用
//粘贴板let pasteboard:UIPasteboard = UIPasteboard.general pasteboard.string = self.copyUrl //传入的链接if pasteboard.string == nil { ProgressHUD.showError("复制失败") }else{ ProgressHUD.showSuccess("已复制")} ...原创 2020-05-11 11:48:23 · 867 阅读 · 0 评论 -
Swift中的幂运算函数
在Swift中想求幂运算、有系统函数pow(x,y),含义为:求x的y次幂public func pow(_ x: Decimal, _ y: Int) -> DecimalDecimal根据系统文档表示为表示以10为基数的数的结构体,就是十进制的表示方法,可以是Float、Int、Double。使用Float和Double的时候需要指定类型print(pow(-2, 2))//4print(pow(5, 3))//125print(pow(Double(2.533),2)原创 2020-05-27 11:30:00 · 6035 阅读 · 0 评论 -
Swift中KVO使用
1、对需要使用的变量添加 @objc dynamic 、使用的KVO监听及对应方法才会起作用。2、Swift中willSet和didSet这两个方法,本身就用来监听属性的变化,所以不必再使用KVO的监听方法。原创 2020-05-25 16:38:52 · 1149 阅读 · 0 评论 -
Swift字符串再回顾
2020-5-19 Swift字符串再回顾虽然最近几年一直断断续续的在玩Swift、也用Swift上线了项目,然而一些基础语法还是运用的太少、今天又敲了一遍字符串的基础使用、加深下印象。 ///1、基础字符串 func basicStringExe(){ let str = "ABCDEFG"// print(str[0]);//'subscript(_:)' is unavailable: cannot subscript String wit..原创 2020-05-19 16:12:39 · 421 阅读 · 0 评论 -
iOS 富文本类型
一、OC中富文本类型NSFontAttributeName 设置字体属性,默认值:字体:Helvetica(Neue) 字号:12 NSForegroundColorAttributeNam 设置字体颜色,取值为 UIColor对象,默认值为黑色 NSBackgroundColorAttributeName 设置字体所在区域背景颜色,取值为 UIColor对象,默认值为nil, 透明色 NSLigatureAttributeName原创 2020-05-19 12:13:07 · 617 阅读 · 0 评论 -
Swift--01数据声明
一、Swift基本的功能/*1、没有main函数,从上往下执行2、import导入基本类库3、print()打印输出4、语句末尾无需加分号5、单行注释'//',多行注释'/*'和'*/'(可以嵌套使用)*/二、下面是运用及解释import Foundationprint("数据声明")//变量声明var v1 =25...原创 2017-05-22 15:43:39 · 594 阅读 · 0 评论 -
Swift--02数据操作
var v1:Int8 = 8var v2:Int16 = 16//运算时数据类型必须相同,不同时可以强制类型转换:类型(变量)var v3:Int32 = Int32(v1) + Int32(v2)print(v3)//取余:'%' 可以作用于整数和小数取余数、var v4 = 5.1.truncatingRemainder(dividingBy: 3)// 5.1...原创 2017-05-22 15:56:57 · 589 阅读 · 0 评论 -
Swift--03新加类型
String是例如"Hello,world","albatross"这样的有序的Character(字符)类型的值得集合。通过String类型来表示。一个String的内容可以用许多方式读取,它包括一个Character值的集合。原创 2017-05-22 16:24:21 · 720 阅读 · 0 评论 -
Swift--04流程控制
repeat-while,等价于do-while原创 2017-05-22 16:39:53 · 382 阅读 · 0 评论 -
Swift--05可选类型
类型? :使用'!'进行强制解包;有值解包成功,无值运行错误类型! :使用时自动解包;但要确保优质,无值时仍会发生运行时错误原创 2017-05-22 16:56:52 · 624 阅读 · 0 评论 -
Swift--06数组字典
Swift数组字典用法实例原创 2017-05-22 17:09:10 · 409 阅读 · 0 评论 -
Swift--07函数使用
inout:1、函数参数默认是不可变的,可以添加var声明为变量2、也可使用inout修饰,告诉编译器该参数可以被修改3、函数内部想要改变传递的参数,调用时需要在参数前加'&'原创 2017-05-23 09:33:52 · 496 阅读 · 0 评论 -
Swift--08闭包使用
/*闭包有三种形式1、全局函数2、内嵌函数3、闭包表达式 闭包语法格式 { (参数列表) -> 返回类型 in 闭包体 }*/var array = ["C","B","E","A","D"]//以前可以自定义函数名称传递升降序。然而我现在发现不能传递自定义函数名玩了。func bac...原创 2017-05-23 11:06:25 · 431 阅读 · 0 评论 -
Swift--09枚举类型
在没有指定枚举值使用的数据类型时,无法获取原始值原创 2017-05-23 11:29:51 · 382 阅读 · 0 评论 -
Swift--10结构体
系统默认创建两个构造方法,用于初始化成员变量并且不需要返回,也不需要使用func关键字原创 2017-05-23 11:39:07 · 464 阅读 · 0 评论 -
Swift--11类的使用
Swift的类可以不继承自NSObject原创 2017-05-23 11:42:54 · 463 阅读 · 0 评论 -
Swift--12构造方法
构造方法的目的就是确保类的所有非lazy存储属性进行初始化可选类型的存储属性可以不用初始化(默认为nil)原创 2017-05-23 11:46:18 · 316 阅读 · 0 评论 -
Swift--13协议使用
/*作用:1、Protocol(协议)用于统一方法和属性的名称,而不实现任何功能。2、协议能够被类,枚举,结构体实现,满足协议要求的类型被称为协议的遵循者。3、遵循者需要提供协议指定的成员,如属性,方法,操作符,下标等语法:protocol 协议名 { 属性、方法等}struct 类型:协议一,协议二 { 协议中的属性及方法的实现}...原创 2017-05-23 11:48:58 · 575 阅读 · 0 评论 -
Swift--14类型扩展
扩展就是向一个已有的类、结构体或枚举类型添加新功能。这包括在没有权限获取原始源代码的情况下扩展类型的能力。类似于OC中的分类(Swift的扩展没有名字)。原创 2017-05-23 11:58:27 · 399 阅读 · 0 评论 -
Swift--15内存管理
当引用的实例销毁时,ARC会将该引用设置为nil原创 2017-05-23 12:02:57 · 642 阅读 · 0 评论 -
OC与Swift如何相互调用
文件是自动创建的在swift中调用OC代码使用的桥接文件,需要将在swift中使用的OC的相关头文件添加该此处原创 2017-05-23 12:15:55 · 824 阅读 · 0 评论 -
OC和Swift混编开发配置
Swift项目 中的OC类不能调用Swift文件的问题、通过如下文章解决了。https://www.jianshu.com/p/754396e7e1bd但是OC不能调用没有继承于NSObject的Swift文件中定义的常量和方法、...原创 2019-08-12 11:31:29 · 213 阅读 · 0 评论 -
Swift修改textField的placeholder的字体颜色
一、通过KVC修改placeholder的颜色。 textField.setValue(UIColor.blue, forKeyPath: "placeholderLabel.textColor")二、通过textField提供的 attributedPlaceholder 属性来拓展一个属性方法使用时直接调用即可 textField.placehold...原创 2017-10-21 13:47:09 · 1303 阅读 · 0 评论