Swift函数调用方式浅析
函数的调用机制 函数的调用机制是在函数调用时通过那种路径走到最终调用函数地址的机制。 在编程语言中,函数的调用机制有三种 1.静态调用:编译期就确定了函数内存地址,执行效率最高,还可以使用编译器优化如:inline函数内联提升执行效率。缺点:因为函数调用的内存地址在编译期已经确定,则...[2023/7/19]
万字长文详解如何使用Swift提高代码质量
前言 京喜APP最早在2019年引入了Swift,使用Swift完成了第一个订单模块的开发。之后一年多我们持续在团队/公司内部推广和普及Swift,目前Swift已经支撑了70%+以上的业务。通过使用Swift提高了团队内同学的开发效率,同时也带来了质量的提升,目前来自Swift的Crash的占...[2023/5/10]
Swift中的可选项Optional解包方式实现原理
目录为什么需要Optional什么是OptionalOptional实现原理Optional的解包方式1. 可选项绑定(Optional Binding)2. 强制解包(Forced Unwrapping)3. 隐式解包(Implicitly Unwrapped Optionals)可选链(Opti...[2023/3/27]
Swift中的高阶函数功能作用示例详解
目录高阶函数的作用1. 简化代码2. 提高可读性3. 支持函数式编程4. 提高代码的可重用性常见的高阶函数1. map()2. filter()3. reduce()4. sorted()5. forEach()6. compactMap()7. flatMap()8. zip()9. first(...[2023/3/27]
Swift中的HTTP请求体Request Bodies使用示例详解
目录正文通用化body空请求体 EmptyBody数据体 DataBodyJSON体 JSONBody表单 FormBody其他Body Other Bodies 正文 在进行HTTPRequest请求发送前,我们稍稍改进一下我们的结构体,最后,我们将会以下面的信息输出: public ...[2023/2/6]
Swift踩坑实战之一个字符引发的Crash
最近因为一个字符引发了 Crash,因为实际的业务场景不便描述,这里便用一段测试代码作说明。 话不多说,直接上代码: let testCharacters: Set<Character> = ["!", "\"", "$", "%", "&", "''", "+", "...[2022/2/22]
Swift?列举内存管理与异常处理具体代码
1. Swift 内存销毁时机 Swift5 内存销毁时机 引用类型的内存销毁时机 cla Cla Demo { var a = "value a" deinit { 实例被释放 print("deinit cla...[2021/11/24]
Swift使用transform 实现重复平移动画效果
摘要 要实现一组重复的动画,本质上就是找到动画开始点、结束点。在动画结束的时候,触发开始点,持续这样的动作。 这里面要梳理的逻辑就是1.触发开始点和2.监听动画结束点。这两个逻辑是实现重复动画的基础。 应用场景 将 imageView 等 UI 控件,设置成平移的动画,并且一直动画...[2021/7/21]
【Swift】GRDB数据库本地存储聊天记录
DataManager.swift GRDBDemo Created by Apple on 2021/4/21. import GRDB struct DataBaseName { 数据库名字 static let test =...[2021/5/6]
SwiftUI学习之state和Binding的区别浅析
@state 绑定值的状态,其属性的修饰官方推荐使用private.上代码(ps:这里没用private 进行修饰,是为了演示区别) import SwiftUI struct FilterView: View { @Binding var isFavorite: Bool ...[2021/3/29]
【Swift】拆分小说阅读器功能,分享内部实现
公司项目结束了,公司估计也快黄了,年底事少,也给了我不少时间来维护博客。 公司的项目是一个类似于简书的创作平台,涵盖写作、小说、插画内容。 本期主要先下小说阅读部分,UI样式仿照的是微信读书样式,因之前也写过小说阅读器,但是代码并没有解耦,这次彻彻底底做一次大改动。 &...[2021/1/25]
【Swift/Objective-c】公司项目优化(二) - 下拉刷新抖动问题
使用MJRefresh进行列表下拉刷新时,会出现列表上下颤抖问题 抖动的原因 我们先来看看在手松开之后我们对scrollView做了什么事情: ScrollViewDidEndDragging => setContentInset: ...[2021/1/25]
【Swift】公司项目性能优化(一)
随着项目开发接近了尾声,改Bug和性能优化成了工作的重中之重,移动端开发,最注重用户体验,一个丝滑般的应用程序能在用户心里加很多印象分。 1、优化列表的滑动速度 作为内容创作类的app,里面包含了大量的写作、画作、小说、动态等多种动态高度的样式;列表滑动不卡顿,就成了用户...[2021/1/18]
RxSwift实现替换delegate的方法示例
目标 最近写项目 ,写到需要为自己写的一个控件添加rx订阅方式的案例。 目前有一个代理: 代理方式获取结果 @objc public protocol ZZPhotoPickerControllerDelegate : NSObjectProtocol { @...[2019/9/12]
swift为什么不是do while?
swift为什么不是do while do while已经深入人心之后,对repeat while的语义逻辑该如何接受呢? do while的语义逻辑是:这个whilte循环先执行一次。逻辑目标针对while。 repeat while的语义逻辑是:重复这段逻辑,...[2019/9/10]
Swift 面试题 - 雄霸天下-无人能挡
文章转载自:http: www.pythonheidong.com/blog/article/2188/ 1. 给一个数组,要求写一个函数,交换数组中的两个元素 二X程序员: 好简单啊,直接写出以下结果 func swap(_ nums: inout [Int], _ p...[2019/8/15]
李洪强经典面试题53-Swift - 雄霸天下-无人能挡
文章转载自:http: www.pythonheidong.com/blog/article/2572/ 李洪强经典面试题53-Swift Swift 网上有很多Swift的语法题,但是Swift现在语法还未稳定,所以在这里暂时不贴出语法题,可以自行搜索。 Swift...[2019/8/15]
Swift--面试题及答案 - 雄霸天下-无人能挡
文章转载自:http: www.pythonheidong.com/blog/article/2582/ 原文:Swift Interview Questions and Answers 原作者:Antonio Bello 原作者介绍: Antonio 拥有丰富...[2019/8/15]
Swift中添加双击手势识别器
已经完成了单击识别器,但无法弄清楚如何将该单击识别器改为双击. 代码: import Foundation import UIKit cla MainBoardController: UIViewController{ let tap = UITapGest...[2019/8/12]
OC方法交换swizzle详细介绍——不再有盲点
原文链接:https: www.cnblogs.com/mddblog/p/11105450.html 如果已经比较熟悉,可以跳过整体介绍,直接看常见问题部分 整体介绍 方法交换是runtime的重要体现,也是"消息语言"的核心。OC给开发者开放了很多接口,让开发者也能全程...[2019/6/29]
iOS基础UI控件介绍-Swift版
iOS基础UI控件总结 iOS基础控件包括以下几类: 1、继承自NSObject:(暂列为控件) UIColor 颜色 UIImage 图像 2、继承自UIView: 只能相应手势UIGestureRecognizer事件,如果本身不响应会将事件action向supervie...[2019/6/21]
iOS技术栈-Swift版
在网上没找到基于Swift的技术栈介绍,或者技术已经不适用,所以自己画了一个,后面的博客中会重新整理基于Swfit的UI控件介绍和常用第三方库地图 原文链接:http: www.cnblogs.com/anywherego/p/11044878.html[2019/6/19]
【Swift】WKWebView与JS的交互使用
一、前言 现在web前端发展越来越快,为了追求应用的快速开发和迭代,许多产品都会选择混合开发,在手机端嵌入web页面,那么这就会导致一个问题,原生代码怎么和js交互?那么下边我们共同学习一下iOS和web是怎么交互的。 二、WKWebView 支持更多的HTML5的特性 ...[2019/6/18]
zap+日志分级分文件+按时间切割日志整合demo
实现功能 ????info debug 级别的日志输出到 /path/log/demo.log ????warn error .... 级别的日志输出到 /path/log/demo_error.log ????日志自动按小时分割 最多保留7天的日志 依赖的第三方包github地址 ????ht...[2019/5/27]
ios 动画:底部标签栏的概念设计
本文汇集了大量优秀的ios底部标签栏动效设计,并附上技术实现的指南,对于设计师和开发者都提供了很好的灵感来源和学习资源。 我们每天都见到tab bars,它们指引用户,使得他们能够快速在不同的tab中切换,谁说这些移动端导航的设计一定很无聊呢? ...[2019/5/24]
CEPH Object Gateway
参考文档: CEPH OBJECT GATEWAY:http: docs.ceph.com/doc master/radosgw/ 一.环境准备 1. Ceph Object Gateway框架 Ceph Object Gateway是对象存储接口,构建在librado...[2019/4/12]
ubuntu 下 go 语言调试器 dlv 的安装
1. 从 https: github.com/derekparker/delve.git 下载delve压缩包delve-master.zip。 2. 使用 winscp 工具将delve-master.zip 远程到 linux机器里面。 3. 解压压缩包...[2019/4/3]
Swift使用AlamoFire超时设置和事件处理
一直在写swift项目,正好碰到服务器部署,请求超时或者请求失败的问题,页面就卡着不动了。顺手解决一下吧 差了些资料,说要设置超时时间 方法一: 1 static let sharedSe ionManager: Alamofire.Se ionMan...[2019/3/21]
Swift 访问控制
1、private private访问级别所修饰的属性或者方法只能在当前类里访问。 2、fileprivate fileprivate访问级别所修饰的属性或者方法在当前的Swift源文件里可以访问。 3、internal(默认访问级别,internal修饰符可写可不写) internal访...[2019/3/11]
Swift中的for循环基本使用
OC中的for循环写法: for (int i = 0;i < 100;i++) { NSLog(@"i=%zd",i); } Swift中的for循环写法: let a = 100; for i in 0 ..< a { print(...[2019/3/11]
Swift实现“或”操作符的3种方法示例
前言 我在看喵神的书的时候,发现书中有个练习(如下图),我觉得挺有意思,就把其中的“||”操作符实现了一下,跟大家分享一下。 使用Swift实现“||”操作符,我发现有三种方式,各自特点如下: 第一种:普通方式 第二种:性能优化 第三种:性能优化+写法优雅 ...[2019/3/4]
比较两个slice、struct或者map是否相等
我们可以直接使用reflect.DeepEqual来比较两个slice、struct或者map是否相等 package main import ( "fmt" "reflect" ) type A struct { s string } func main() {...[2018/12/17]
iOS Swift WisdomScanKit图片浏览器功能SDK
iOS Swift WisdomScanKit图片浏览器功能SDK使用 一:简介 WisdomScanKit 由 Swift4.2版编写,完全兼容OC项目调用。 WisdomScanKit...[2018/12/14]
iOS Swift 二维码扫码,自定义全屏拍照,系统相册图片编辑多选,系统相册图片浏览, 就用WisdomScanKit SDK
iOS Swift WisdomScanKit 是一款强大的集二维码扫码,自定义全屏拍照,系统相册图片编辑多选和系统相册图片浏览功能于一身的 Framework SDK 【1】前言: 今天给大家推荐个好用的开源框架:WisdomScanKit,如果在开发中有用到二维码...[2018/12/12]
iOS Swift WisdomKeyboardKing 键盘智能管家SDK
iOS Swift WisdomKeyboardKing 键盘智能管家SDK 【1】前言: 今天给大家推荐个好用的开源框架:WisdomKeyboardKing,方面iOS日常开发,优点和功能请看下面介绍。 【2】简介: WisdomK...[2018/12/7]
入坑构建之法
前不久邹欣老师(@SoftwareTeacher)来到学校做讲座,有机会见到真人了自然想要个签名。 这个时候我突然想到一个问题,拿邹老师哪本书签名呢?编程之美?emmm,不好,肯定一堆人拿那本书。移山之道?emmm,太老了。我经过一番权衡,决定拿构建之法(第三版)这本2017年才再版的书,新书嘛...[2018/10/11]
Swift函数提前返回实例详解
简评: 函数是一个组织在一起语句集合,以执行特定任务。Swift 函数类似于简单 C 函数以及复杂的 Objective C 语言函数。 它使我们能够通过函数调用内部的局部和全局参数值。 像其他任何语言一样 swift 函数也遵循相同的步骤。 函数声明:它告诉编译器有关的函数的名称,返回类型和参数...[2018/9/26]
Swift 在UIWindow 上添加并移除 view
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 17.0px Menlo; color: #000000; background-color: #ffffff } p.p2 { margin: 0.0px 0.0px 0.0...[2018/9/25]
快看Sample代码,速学Swift语言(1)-语法速览
Swift是苹果推出的一个比较新的语言,它除了借鉴语言如C#、Java等内容外,好像还采用了很多JavaScript脚本里面的一些脚本语法,用起来感觉非常棒,作为一个使用C#多年的技术控,对这种比较超前的语言非常感兴趣,之前也在学习ES6语法的时候学习了阮一峰的《ECMAScript 6 入门》,...[2018/9/25]
快看Sample代码,速学Swift语言(2)-基础介绍
Swift语言是一个新的编程语言,用于iOS, macOS, watchOS, 和 tvOS的开发,不过Swift很多部分内容,我们可以从C或者Objective-C的开发经验获得一种熟悉感。Swift提供很多基础类型,如Int,String,Double,Bool等类型,它和Objective-...[2018/9/25]
快看Sample代码,速学Swift语言(3)-运算符
运算符是用来检查,更改或组合值的特殊符号或短语。Swift提供的很多常规的运算符,如+、-、*、/、%、=、==等,以及逻辑运算的&&、||等等,基本上不需要重复介绍,我们在这里只需要了解一些不太一样的运算符就可以了。如Swift引入的新运算符,范围操作符号,包括..<和.....[2018/9/25]
ReactiveCocoa(II)
RAC类关系图: RAC 信号源: 需要导入的头文件: 1 import ReactiveCocoa 2 import Result 3 import ReactiveSwift 冷信号 1 1.冷信号 2 ...[2018/9/25]
黑马基础阶段测试题:创建Phone(手机)类,Phone类中包含以下内容: - Advancing-Swift
package com.swift; public cla Phone { private String pinpai; private int dianliang; public String getPinpai() { return p...[2018/9/25]
类型转化
类 类的转化 用泛型替代父类: func valueIsOk<T: JSONModel>(anyCla : T) { } JSONCart 是 JSONModel的子类,传入JSONCart self.valueIsOk(any...[2018/9/25]
Block 循环引用(中)
不会造成循环引用的block 大部分GCD方法 1 dispatch_async(dispatch_get_main_queue(), ^{ 2 [self doSomething]; 3 }); 因为self并没有对GCD的block进行持有,没有形成循环引用。目前我还没碰到使用G...[2018/9/25]
macOS webview编程
好像是macOS10.10之后,以及iOS8之后,新出现的WKWebview组件就迅速的替代了Webview及UIWebView。后者的确存在一些无法解决的bug,诸如架构导致的速度缓慢和内存泄漏。 但无法避免的问题总是有的,比如有些客户端软件,仍然要求兼容老版本的系统,这时候,很不想使用,但也...[2018/9/25]
Swift4 枚举,例子代码
枚举 苹果官方文档 枚举 苹果官方文档中文翻译 枚举 枚举语法 enum SomeEnumeration { enumeration definition goes here } enum Compa Point { case north case south ...[2018/9/25]
Swift4 类和结构体,例子代码。
类和结构体 苹果官方文档 Cla es and Structures 苹果官方文档翻译 类和结构体 类与结构体的对比 定义语法 cla SomeCla { cla definition goes here } struct SomeStructure ...[2018/9/25]
【Swift 4.0】扩展 WCDB 支持 SQL 语句
前言 入坑 wcdb 有两个月了,整体来说还是很不错的,具体优点可以参考文档说明,由于官方明确说明不支持 SQL 只好自己写一个扩展支持一下了 ?? 声明 欢迎转载,但请保留文章原始出处:) 博客园:http: www.cnblogs.co...[2018/9/25]
Swift 结构体的使用
Swift 结构体是构建代码所用的一种通用且灵活的构造体。 我们可以为结构体定义属性(常量、变量)和添加方法,从而扩展结构体的功能。 与 C 和 Objective C 不同的是: 结构体不需要包含实现文件和接口。 结构体允许我们创建一个单一文件,且系统会自动生成面向其它代码的外部...[2018/9/25]