[Swift]
分享在iOS开发中,相关Swift技术
夏天然后
涅槃重生
展开
-
iOS 动画 swift 实现直播中状态动画
前言: 这是一个直播中状态动画的一个简单实现使用 swift, 老规矩 Demo 放在最后。原创 2023-02-08 14:13:00 · 404 阅读 · 0 评论 -
Swift UIStackView 的使用简单示例
使用 UIStackView布局如图中红框内所示样式的一个布局技巧。原创 2022-07-27 16:58:42 · 1025 阅读 · 0 评论 -
Swift Codable: 服务端新增枚举类型解析失败?
前言: 服务端新增枚举类型, 客户端数据解析失败如何解决?首先定义一个枚举类型, 准备在 model 中使用/// 交易类型enum TradeType: Int, CaseIterable { /// 普通商品交易进账 case generalIncome = 1 /// 提现成功 case withdrawSuccess = 2 /// 提现中 case withdrawing = 5 /// 提现失败 case with原创 2022-05-06 13:59:24 · 613 阅读 · 0 评论 -
Swift 5.6 特性
Swift 5.6 特性不可用条件(#unavailable)#available 用于根据不同的平台、版本进行条件编译:if #available(iOS 15, *) { // 通配符 * 表示 Apple 所有平台,如果是 iOS,则要求 >= 15} else { // iOS 15 以下}Swift 5.6 引入了 #unavailable ,它和 #available 的意思正好相反,下面的示例和上面示例中的 else 分支表达的意思是一样的。if #unavai原创 2022-04-06 22:29:09 · 3183 阅读 · 0 评论 -
Swift高阶函数-Map、Filter、Reduce
Swift高阶函数-Map、Filter、Reducemap:对给定数组每个元素,执行闭包中的映射,将映射结果放置在数组中返回。flatMap:对给定数组的每个元素,执行闭包中的映射,对映射结果进行合并操作,然后将合并操作后的结果放置在数组中返回。compactMap:对给定数组的每个元素,执行闭包中的映射,将非空的映射结果放置在数组中返回。compactMap对给定数组的每个元素,执行闭包中的映射,将非空的映射结果-键值对放置在字典中返回。filter:对给定数组的每个元素,执行闭包中的操作,将原创 2022-02-28 17:04:20 · 409 阅读 · 0 评论 -
Swift 基础组件之像素转 Point
import Foundationpublic extension Float { /// 像素值转 point 值 var px: CGFloat { kAdapt(CGFloat(self)) }}public extension Double { /// 像素值转 point 值 var px: CGFloat { kAdapt(CGFloat(self)) }}public extension Int {原创 2021-11-25 14:58:24 · 1767 阅读 · 0 评论 -
iOS UITableview 在有 HeaderView的时候滚动到顶部
private lazy var tableView = UITableView().then { $0.backgroundColor = UIColor.black.withAlpha(0.6) $0.dataSource = self $0.delegate = self $0.register(AuctionCraftsRelateCell.self, forCellReuseIdentifier: "AuctionCraftsReco原创 2021-09-09 19:06:51 · 684 阅读 · 0 评论 -
iOS 模块化工程 swift 与 objc 混编遇到的问题
Swift 文件引用 Objc 模块Objc 模块第一次引用 创建Swift文件, pod install 之后 原 #import 引用的类, 也需要改成下面的这种形式/// 需要Swift @import @import DJHome/// 需要在 Objc@import DJHome;swift 创建的类, 在 oc 中引用swift 创建的类 要声明 public@objc(DJAuctionFullReduceCouponView)public class Auctio.原创 2021-06-22 17:32:57 · 313 阅读 · 0 评论 -
iOS 项目从 ReactiveSwift 迁移到 openCombine
为什么是 Combine?1. 官方支持苹果于 2019 年 6 月对外发布了 Combine 框架,至今已经过去快两年时间,做为 SwiftUI 的御用数据流管理框架,基本不太可能在未来被抛弃。网上对它的实践经验也有不少,所以使用时机已基本成熟2. UI 框架的结合无论是 Reactive 还是 Rx,它们的设计出发点都是针对 UIKit 的,而 Combine 是为了 SwiftUI 而生,在声明式 UI 开发时更有先天优势3. 性能优势虽然 Reactive 和 Rx 都被极尽优化了,但.原创 2021-06-15 15:07:13 · 716 阅读 · 4 评论 -
iOS 14 UICollectionViewCell 相关
前言: Apple 为iOS14 引入了新的API—UICollectionViewListCell 下面进行简单介绍UICollectionViewListCell需要配合iOS13中推出的UICollectionViewCompositionalLayout、DiffableDataSource等搭配使用这次的更新是使用UICollectionViewListCell,可在UICollectionView中实现UITableView样式的UI布局, 过去麻烦的自定义展开收起操作,现在只需要对数据源进原创 2021-05-27 16:32:50 · 751 阅读 · 0 评论 -
Swift Intermediate Language
Swift的中间文件:Swift Intermediate Language(简称SIL)文章目录Swift的中间文件:Swift Intermediate Language(简称SIL)前言`swiftc`命令名字重整(Name Mangling)脚本自动生成SIL文件并打开其他前言Swift语言和OC一样,也是构建在LLVM架构上的,标准的三段式设计一般都知道 在ObjC中,我们可以通过Clang命令,生成C++文件来看底层原理, 那么 Swift 呢? 是否也有相关的命令呢, 答案是肯定的原创 2021-04-26 18:36:39 · 242 阅读 · 0 评论 -
Swift 获取数组内任意个数随机元素的简单方法
let dataList = ["老师好", "太棒啦", "看看细节", "太好啦", "学到了"]var randomList = [String]()randomList = dataList.shuffled().suffix(3)原创 2021-03-24 10:35:48 · 1231 阅读 · 0 评论 -
Swift 闭包
文章目录Swift 闭包1. 什么是闭包?2. 闭包能做什么?3. 闭包的三种形式4. Swift闭包的优化5. Swift闭包5.1 举个????5.2 闭包表达式5.3 单表达式闭包的隐式返回5.4 参数名称缩写5.5 尾随闭包5.6 值捕获 (重要)5.7 逃逸闭包 (重要)5.8 自动闭包Swift 闭包1. 什么是闭包?闭包是自包含的函数代码块,可以在代码中被传递和使用。2. 闭包能做什么?闭包可以捕获和存储其所在上下文中任意常量和变量的引用。被称为包裹常量和变量。 Swift 会为你原创 2020-07-30 09:25:47 · 437 阅读 · 0 评论 -
Swift 快速上手教程 (二)
文章目录4. 集合类型4.1 Arrays4.2 Dictionary5. 控制流5.1 switch5.1.1 区间匹配5.1.2 元组匹配5.1.3 值绑定5.1.4 Where5.1.5 复合型 Cases6 控制转移语句6.1`continue` 语句告诉一个循环体立刻停止本次循环,重新开始下次循环6.2`break` 语句会立刻结束整个控制流的执行6.3 贯穿(Fallthrough)6.4 提前退出 (guard)7. 函数7.1 多重返回值函数 使用元组即可7.2 可变参数7.3 函数类型作为原创 2020-07-29 15:46:32 · 243 阅读 · 0 评论 -
Swift 快速上手教程 (一)
文章目录1. 基础部分1.1 分号1.2 类型安全和类型推断1.3 类型别名1.4 元组1.5 可选类型1.6 nil1.7 if 语句以及强制解析1.7.1 强制解析 `!`1.8 可选绑定1.9 隐式解析可选类型1.10 错误处理1.11 使用断言进行调试2. 基本运算符2.1赋值符(`=`)不再有返回值2.2 Swift 还提供了 C 语言没有的区间运算符2.3 恒等运算符 (`=== `与`!==`)2.4 空合运算符(Nil Coalescing Operator) `??`3. 字符串和字符3.原创 2020-07-29 10:37:02 · 688 阅读 · 0 评论 -
Swift WKWebView与JS交互
https://github.com/summerxx27/JS_ObjectiveC_MessageHandlerhttps://github.com/marcuswestin/WebViewJavascriptBridge原创 2020-07-27 18:23:49 · 237 阅读 · 0 评论 -
最新版本Swift实现iOS跑马灯效果
前言: 这是一个学习Swift语言的演示Demo, 当然稳定性也是没问题的, 重在学习语言特性, 顺带实现一些功能, 需要可以自取最新版本Swift跑马灯实现Demo在 XTMovingView这个文件夹优化:匀速设置枚举多种方向选择效果图如下/// 跑马灯移动的四个方向, 如果有需要可以自己扩展enum MovingDirectionType { case left case right case bottom case top}/// 速度类型原创 2020-07-16 17:57:07 · 1397 阅读 · 1 评论 -
iOS开发 非常全面的Swift资料收集
文章转载自我的个人博客原文链接自言自语: 亿万千百十, 皆起于一资料1 —教程类官方文档中文翻译http://wiki.jikexueyuan.com/project/swift/ Github上的地址点我Using Swift with Cocoa and Objective-CWWDC 2015 系统化的开发文档iOS Developer LibrarySwift 开源及跨平台开发swift原创 2016-11-28 20:51:17 · 1232 阅读 · 0 评论 -
iOS Swift版本 在很多场景下可以使用的带箭头的View
前言: 学习Swift语法的同时, 加上一点点的小实践. 囧~ OC版本带箭头的View OC&Swift版本的Demo如果你想看看 - 熟悉swift语法 - Swift中的drawRect - 扩展阅读 - Swift源码推荐 - 一如既往的图文并茂 这里我只做了箭头在上方中心位置作为演示// 然而我还是定义了一个枚举, 然而并没有用 [大笑](就当做熟悉一下语法好啦)enum原创 2016-11-15 00:46:11 · 2229 阅读 · 0 评论 -
Swift 结构体简单学习
定义 /// 这里我定义了一个结构体类型 /// 结构体类型是一个新的Siwft类型 (命名类似于 Int Double) /// 用来描述一个人的所带属性 name = "" age = 0 struct PersonStruct { var name = " " var age = 0 } /// 接下来我定义了一个类原创 2016-10-11 11:31:15 · 1119 阅读 · 0 评论 -
iOS 从Objective-C到Swift
前言: 博主功力有限, 也是在学习的过程中, 之前写了几篇在iOS开发中使用Swift进行开发偏向于UI方向的文章, 明显地感觉到OC与Swift的之间的一些区别与联系, 并且还有一些值得注意的地方, 希望看到这篇文章的小伙伴更快地上手Swift. , 最近自己的状态也是很糟糕, 更糟糕的是感冒了(囧~). 有什么错误请评论指出, 谢谢.一 属性OC中 我们最常用的property// 常常会原创 2016-08-03 01:06:35 · 801 阅读 · 0 评论 -
Swift 写一个简单界面
在这篇博文中你可以看到那些内容呢, 首先这是一个用tableView纯代码Swift写的简单界面, 你可以看到下面这些 - 使用Alamofire 进行网络请求 - 使用MJExtension 进行字典转模型 - 使用HanekeSwift 进行图片的赋值 - 如何写一个模型(M) - 如何自定义一个UITableViewCellAlamofire 简单网络请求func XTNetwork原创 2016-07-06 23:18:17 · 4634 阅读 · 1 评论 -
iOS 使用Charts框架 折线,柱状,K线,饼状,雷达全攻略
我是前言: 大约几个月前我写了一篇文章, 文中简单地介绍了Charts两种图表的样式的使用, 不过有种意犹未尽的感觉, 利用周末的空闲时间再次看了看, 有了新的收获, 今天发出来,分享给大家, 来稍加详细的再次走进Charts的世界. 完全纯代码.说在前面的话: 这篇的篇幅确实是有些长, 不过你可以会一些图表的tips, 还能熟悉Swift语言的语法. #感觉不错请点个赞# 摸摸哒(冷漠脸.png原创 2016-07-03 20:57:27 · 10327 阅读 · 2 评论 -
非常全面的Swift学习资料整理
文章转载自我的个人博客原文链接自言自语: 亿万千百十, 皆起于一资料1 —教程类官方文档中文翻译http://wiki.jikexueyuan.com/project/swift/ Github上的地址点我Using Swift with Cocoa and Objective-CWWDC 2015 系统化的开发文档iOS Developer LibrarySwift 开源及跨平台开发swift原创 2016-06-08 12:37:10 · 5667 阅读 · 0 评论 -
Swift Snapkit 看这篇基本就"够"了
前言: 今天介绍的是一个三方库. SnapKit 是在iOS开发中使用添加约束的纯代码库. 使用Swift语言进行编写. 作为有一定经验的人, 对Masonry应该不陌生. 像Masonry一样. 在同一个仓库中 0.O这里放出个人博客链接http://littlesummerboy.com/2016/05/17原创 2016-05-17 22:07:17 · 4325 阅读 · 0 评论 -
Swift版本仿网易云音乐播放音乐动画效果
个人技术博客站欢迎您 创建一个继承于UIView的视图我们叫他XTActivityView /// 立方柱的个数 var numberOfRect = 0; /// 立方柱的颜色 var rectBackgroundColor: UIColor? /// 立方柱初始化大小 var defaultSize: CGSize?原创 2016-05-11 20:22:16 · 5905 阅读 · 0 评论 -
Swift 仿简书、淘宝App的弹出view效果
感谢原作者提供OC代码 先来张图让小伙伴们看一眼主要有四个View 黑色 XtPopViewController的self.view的颜色 白色 主控制器self.view颜色 在白色View上方 有个透明度为0.5的view 进行遮挡. (maskView) 下方的灰色View (popView1)不多说直接上代码let screen_Width = UIScreen.mainScree原创 2016-05-04 23:33:47 · 7197 阅读 · 0 评论 -
Swift 使用CollectionView 实现图片轮播封装
前言: 这篇你可以学会自定义视图,创建collectionView,协议的使用,定时器; 首先新建一个继承于UIView的视图, 且用collectionView实现所以需要签订两个协议代码如下:let sectionNum: Int = 100 // 区的数量let width = (UIScreen.mainScreen().bounds.size.width) // 屏幕宽度let原创 2016-04-28 22:25:56 · 1486 阅读 · 0 评论 -
Swift 扩展(Extensions)(十四)
一 可以为类添加新功能UIViewControllerextension UIViewController { // 为 UIViewController 添加的新功能写到这里}Doubleextension Double { var km: Double { return self * 1_000.0 } var m : Double { return self原创 2016-04-25 17:03:44 · 730 阅读 · 0 评论 -
iOS Swift&OC 模仿主流App 实现滑动视图隐藏导航栏
简单直接上图上代码 -.- 一个GIF图5M?@property (nonatomic, strong) UITableView *tableViewScroll;@property (nonatomic, assign) double recordDistance; //记录滑动的距离@property (nonatomic, strong) UIView *customView;@prop原创 2016-04-27 21:08:39 · 5907 阅读 · 3 评论 -
Swift 实例方法&类型方法(九)
override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let counter = Counter() counter.reset()原创 2016-03-29 00:12:06 · 831 阅读 · 0 评论 -
Swift 很强大的图表库-Charts使用
前言: 今天分享一个很漂亮的功能强大的图表库,希望对有需要的同学, 有帮助, 喜欢请点个赞,支持一下.谢谢~ 在项目中如何加入Swift库请看我的上一篇文章 http://www.jianshu.com/p/fd91c10c9f55 编译环境: Xcode7.3添加Charts图表库// 在Podfile中use_frameworks!pod 'Charts'import Charts原创 2016-04-26 20:45:34 · 12202 阅读 · 2 评论 -
Swift 图片下拉放大
csdn 上传gif图片限制 效果图请点击链接http://www.jianshu.com/p/xt的风let iconMargin: CGFloat = 10.0let iconW: CGFloat = 80.0let iconH: CGFloat = 80.0let cellIdientifier = "cellIdentifier"let screenHeight = UIScree原创 2016-04-18 15:37:30 · 2022 阅读 · 0 评论 -
Swift 泛型函数 类型约束(十三)
非泛型函数/// 交换两个整形的值 func swapTwoNumbersInt(inout a: Int, inout _ b:Int) { let temp = a a = b b = temp }/// 交换两个字符串的值 func swapTwoString(inout string1: String, inou原创 2016-04-17 23:50:22 · 4242 阅读 · 0 评论 -
Swift 类型转换is, as, Any, AnyObject(十二)
/// 父类 Person class Person { var name: String init(name: String){ self.name = name } }/// 子类 Woman class Woman: Person { var female: String原创 2016-04-17 00:56:44 · 8580 阅读 · 0 评论 -
Swift 通知的使用(十一)
这里我写的是个传值的例子,介绍通知,跟OC的使用基本差不多let center = NSNotificationCenter.defaultCenter() center.addObserver(self, selector: "getValue:", name: "name", object: nil)func getValue(object: NSNotification) ->原创 2016-04-02 01:06:18 · 619 阅读 · 0 评论 -
Swift 版本很好的卡片切换效果基于ZLSwipeableView(类似于[陌陌点点][探探])
这是我在简书的文章. http://www.jianshu.com/p/734962c9bbed原创 2016-04-16 00:11:09 · 2696 阅读 · 0 评论 -
Swift 项目中使用抽屉效果基于MMDrawerController
准备用Swift撸一个项目了, 就用这个样式了. 晚上睡不好了.黑眼圈(- -)看细节请访问我的githubhttps://github.com/Zhangjingwang1993/SwiftApp 还可以点个Star,给个鼓励. Swift/OC 进阶交流群: 498143780// AppDelegate.swiftvar drawer = MMDrawerController()let原创 2016-04-14 01:03:11 · 4562 阅读 · 0 评论 -
Swift 协议代理传值(十)
Objective-C这里演示反向传值SecondVC.h@protocol sendValueDelegate <NSObject>- (void)sendValueString:(NSString *)str;@end@interface OC_SecController : UIViewController@property (nonatomic, assign) id<sendVa原创 2016-04-01 15:17:15 · 1243 阅读 · 0 评论 -
Swift 正向传值以及利用闭包(closure)实现反向传值(七)
直接上代码吧 - - Demo地址 https://github.com/Zhangjingwang1993/closureDemo.git// MainVclet button = UIButton.init(type: UIButtonType.Custom)button.frame = CGRectMake(20, 100, 50, 50);button.backgroundColo原创 2016-03-17 11:32:23 · 945 阅读 · 0 评论