随笔分类 -  swift

1
摘要:func hasCycle(_ head: ListNode?) -> Bool { var slow = head, fast = head while fast != nil && fast?.next != nil { slow = slow?.next fast = fast?.next?. 阅读全文
posted @ 2025-02-08 15:26 黄增松 阅读(2) 评论(0) 推荐(0) 编辑
摘要:func quickSort<T: Comparable>(_ array: [T]) -> [T] { guard array.count > 1 else { return array } let pivot = array[array.count / 2] let less = array.f 阅读全文
posted @ 2025-02-08 15:23 黄增松 阅读(4) 评论(0) 推荐(0) 编辑
摘要:值类型:赋值时复制值,如 struct、enum、基本类型(Int、String 等)。 引用类型:赋值时共享引用,如 class、closure。 阅读全文
posted @ 2025-02-08 09:12 黄增松 阅读(14) 评论(0) 推荐(0) 编辑
摘要:动态派发是一种运行时决定方法调用的机制。在Swift中,动态派发主要通过虚拟派发表实现,这涉及到引用类型如类(class)。动态派发允许Swift在运行时选择响应消息的最终实现,这为方法重写和多态提供了基础。 1、 当你调用一个类的方法时,Swift运行时会查找这个类的虚拟派发表,找到对应方法的实际 阅读全文
posted @ 2024-10-25 17:40 黄增松 阅读(32) 评论(0) 推荐(0) 编辑
摘要:解决办法: swift model 里id 由String 改为 Int64 接收,解决。 https://www.cnblogs.com/zaijin-yang/p/17430942.html https://developer.aliyun.com/article/1286671 阅读全文
posted @ 2024-07-09 17:40 黄增松 阅读(12) 评论(0) 推荐(0) 编辑
摘要:typealias ActionBlock = ((UIButton)->Void) extension UIButton { private struct AssociatedKeys { static var ActionBlock = "ActionBlock" static var Acti 阅读全文
posted @ 2024-06-04 09:06 黄增松 阅读(28) 评论(0) 推荐(0) 编辑
摘要:RxGesture 使用 pod 'RxSwift' pod 'RxGesture' 导入头文件 import RxSwift import RxGesture 创建垃圾袋自动管理内存 private let disposeBag = DisposeBag() 调用方式(视图点击的地方加tap) s 阅读全文
posted @ 2024-05-27 17:21 黄增松 阅读(12) 评论(0) 推荐(0) 编辑
摘要:Reactor 优点:就是将业务逻辑从View中抽离出来,可以让我们代码分工变的更加清晰明朗,多人开发时也便于后期的管理和维护。原理:由用户行为转为页面状态。 缺点:学习成本高;多写很多代码; ReactorKit是一个面向响应式单向 Swift 应用程序架构的框架。在 ReactorKit 框架中 阅读全文
posted @ 2022-10-25 17:32 黄增松 阅读(299) 评论(0) 推荐(0) 编辑
摘要:var和let、变量常量 final、修饰的类变量函数不能继承和重写,修饰的函数为直接派发 struct和enum和class、结构体和枚举为值类型,类为引用类型 override、重写 deinit、反初始化函数 mutating、结构体和枚举里,函数里修改外部变量时需要这个关键字修饰函数 laz 阅读全文
posted @ 2022-09-19 11:38 黄增松 阅读(67) 评论(0) 推荐(0) 编辑
摘要:在Swift中,class依然可以使用关联对象默认情况,extension不可以增加存储属性借助关联对象,可以实现类似extension为class增加存储属性的效果 class Person {} extension Person { private static var AGE_KEY: Voi 阅读全文
posted @ 2022-09-19 11:00 黄增松 阅读(69) 评论(0) 推荐(0) 编辑
摘要:1、weak也是我们OC中的一种解决循环引用的方式,在Swift中使用weak修饰的实例变量默认为可选类型,所以在使用weak后p对象会成为可选类型,在使用的时候需要使用?或者! func test() { var p = Person() p.myClourse = { [weak p] in p 阅读全文
posted @ 2022-09-15 09:52 黄增松 阅读(212) 评论(0) 推荐(0) 编辑
摘要:@optional 和 @required 是 Objective-C 中特有的关键字。 Swift中,默认所有方法在协议中都是必须实现的。而且,协议里方法不可以直接定义 optional。先给出两种解决方案: 在协议和方法前都加上 @objc 关键字,然后再在方法前加上 optional 关键字。 阅读全文
posted @ 2022-09-02 14:22 黄增松 阅读(263) 评论(0) 推荐(0) 编辑
摘要:Swift 提供了五种不同的访问级别,分别是:open、public、internal、fileprivate 和 private,访问权限依次由高到低。 open: 可以在定义的模块中使用,也可在其他的模块中使用,(模块相当项目的target)其他模块也可继承、重写。open只能用在类、类成员上。 阅读全文
posted @ 2022-07-26 15:14 黄增松 阅读(60) 评论(0) 推荐(0) 编辑
摘要:声明 private let disposeBag = DisposeBag() 释放,需要重新设置,将上面的设置为var disposeBag = DisposeBag() 防止cell重用时,多次订阅 //每次重用cell的时候都会释放之前的disposeBag,为cell创建一个新的dispo 阅读全文
posted @ 2022-06-28 16:24 黄增松 阅读(387) 评论(0) 推荐(0) 编辑
摘要:下载链接 https://github.com/SnapKit/SnapKit makeConstraints 制作约束 updateConstraints 修改约束 import UIKit import SnapKit class ViewController: UIViewController 阅读全文
posted @ 2022-06-24 11:32 黄增松 阅读(508) 评论(0) 推荐(0) 编辑
摘要:下载地址 https://github.com/SwiftyJSON/SwiftyJSON 三种用法 1.data二进制流序列化成 json let json = JSON(data: dataFromNetworking) 从 json 数组取值 // Getting a double from 阅读全文
posted @ 2022-06-22 16:47 黄增松 阅读(574) 评论(0) 推荐(0) 编辑
摘要:下载地址 https://github.com/alibaba/HandyJSON 文档详尽,请看GitHub里的文档 HandyJSON 没人维护 现在都用系统json解析了 https://blog.csdn.net/VoidLuffy/article/details/140049718 mod 阅读全文
posted @ 2022-06-22 15:30 黄增松 阅读(549) 评论(0) 推荐(0) 编辑
摘要:下载地址 https://github.com/Pircate/CleanJSON 三种用法 1.Data二进制流转model 2.Array数组转model 3.Dictionary字典转model let decoder = CleanJSONDecoder() try decoder.deco 阅读全文
posted @ 2022-06-22 11:59 黄增松 阅读(365) 评论(0) 推荐(0) 编辑
摘要:Then 是一个 Swift 初始化器的语法糖,简化了初始化(或者修改属性)的代码量。 Then 框架非常简单,代码量在 60 行左右。 Then 框架对 NSObject 扩展了 then() 方法。下面是官方提供的一个示例: let label = UILabel().then { $0.tex 阅读全文
posted @ 2022-06-07 09:33 黄增松 阅读(179) 评论(0) 推荐(0) 编辑
摘要:1.swift是静态语言,有类型推断,OC是动态语言。 2.swift面向协议编程,OC面向对象编程 3.swift注重值类型,OC注重引用类型。 4.swift支持泛型,OC只支持轻量泛型 5.swift支持静态派发(效率高)、动态派发(函数表派发、消息派发)方式,OC支持动态派发(消息派发)方式 阅读全文
posted @ 2022-04-17 11:29 黄增松 阅读(3032) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示