Swift
文章平均质量分 52
闽江小张
任职于深圳某上市公司,性别男,爱好女。擅长于移动端开发,了解服务端开发、客户端开发。对iOS移动端开发、Java服务端、Swift、OC、Java、Vue、H53C等相关技术有一定见解。本人通过软考高级、中级,会计初级等职业资格证书,对相关资格考试有一定备考攻略。如有需要都可以联系我进行沟通学习。
展开
-
Swift数组底层
数组的协议结构如下:数组的协议结构:序列-> 集合->区间替换的集合-> 数组一个序列(sequence)代表的是一系列具有相同类型的值,你可以对着值进行迭代。一个Collection是满足下面条件的Sequence·稳定的Sequence,能够多次被遍历且保持一致·除了线性遍历以外,集合中的元素也可以通过下标索引的方式被获取·和Sequence不同,Colletion类型不能是无限的。...原创 2022-02-10 14:38:10 · 798 阅读 · 0 评论 -
Swift数组遍历和索引
Swift数组遍历和索引数组遍历索引数组遍历Swift最常见的就是For-In除此之外还有forEach方法,我们先来介绍一下forEach,但是forEach方法有些缺点1、无法使用break或者continue跳出循环2、使用return只能退出一次循环那如何得到索引和值呢?除了我们使用常用的for-in方法,还可使用enumerated()方法 let numbers = [Int](0...10) for (index, num) in numbers.enume原创 2022-02-10 13:55:25 · 3169 阅读 · 0 评论 -
Swift中合并空值运算符
Swift为了Optional 有了合并空值运算符合并空值运算符(a??b)如何可选项a有值则展开,如果没有值是nil,则返回默认值b。注意:表达式a必须是可选类型,且a和b的存储类型必须相同。合并空值运算符实际是三元运算符的缩写(a != nil ? a! : b),也就是如果a的值是非空的,那么b的值将不会被考虑。也就是合并空值运算符是短路的。虽然苹果官方文档强调了两个类型必须类型一致,但是实际如下是不会报错的!!...原创 2022-02-10 11:33:03 · 733 阅读 · 0 评论 -
iOS 访问控制权限【Swift】
对于每个语言都有属于自己的访问控制权限对于Java来说:OC中提供了4个访问控制符: @private @package @protected @public 。对于iOS开发工程师使用OC语言的来说:OC中提供了4个访问控制符: @private @package @protected @public 。而对于iOS开发工程师还有一种是使用Swift来????代码的,那么对应Swift的访问控制 open, public, internal, fileprivate, private这五个。ope原创 2021-12-22 18:06:48 · 2831 阅读 · 0 评论 -
does not specify a Swift version and none of the targets (`packager`) integrating it have the `SWIFT
iOS打包过程中遇到一个坑点,在输入以下命令进行打包的过程中,pod package AAA.podspec --library --force报错如下does not specify a Swift version and none of the targets (`packager`) integrating it have the `SWIFT_VERSION` attribute set. Please contact the author or set the `SWIFT_VERSION原创 2021-12-22 15:37:27 · 3536 阅读 · 0 评论 -
Swift 闭包与@autoclosure
有写过OC的同学一定知道OC中又个Block的概念,其实Swift中有一个也有与之对应的闭包概念,说到闭包不得不说@autoclosure关键字,其实就是自动闭包的意思。先来看看Swift的闭包如何写? override func viewDidLoad() { super.viewDidLoad() //直接调用方法 printText { () -> Int in return 1 } }原创 2021-12-21 17:28:11 · 1694 阅读 · 0 评论 -
iOS 中的设计模式
本文基于iOS开发中的Swift编程语言,来讲讲iOS中的设计模式。设计模式其实对于程序员来说无处不在,就好比空气一样,对人很重要但是你却不知道他的存在。不想说太多理论的东西。这里有告诉你很详细什么是设计模式?每一种设计模式的作用?菜鸟教程【单利模式】在程序didFinishLaunchingWithOptions方法中,我们通常会写以下代码 func application(_ application: UIApplication, didFinishLaunchingWithOptions原创 2021-12-20 10:32:29 · 771 阅读 · 0 评论 -
iOS UIImageView的contentMode属性【Swift版】
今天小编遇到一个Bug,就是图片被自动拉升了,就比如这样的一张宽的图片,iOS会自动拉升的到适配UIImageView尺寸的。一开始忘记了UIImageView有contentMode属性。百思不得其解。后来。。。。。(就是我太菜)来波总结【文后有惊喜】public enum ContentMode : Int { case scaleToFill = 0 //默认 case scaleAspectFit = 1 // 内容缩放以适应固定的方面。其余部分是透明的原创 2021-12-17 17:50:08 · 3030 阅读 · 0 评论 -
iOS 统计代码行数
iOS 统计代码行数原创 2021-12-15 14:57:44 · 1867 阅读 · 0 评论 -
iOS中SDWebImage
一、SDWebImage的基本使用小编最早也只是会基本使用,但是后来企业导师和我说SDWebImage的东西很多,只会基本使用是不够的。那么先来看看基本使用。SDWebImage的github地址官方文档·Objective-C#import <SDWebImage/SDWebImage.h>...[imageView sd_setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]原创 2021-12-14 14:47:52 · 1037 阅读 · 0 评论 -
iOS 发送邮件SKPSMTPMessage
【前提分析】小编在做毕业设计 ,因为没有服务端,所有的功能由客户端实现。这时候小编接到了一个需求 就是需要邮件发送验证码。【需求分析】1、如何使用客户端发送邮件。2、如何发送验证码?这时候小编拿到需求的时候,????一个挖槽,服务端需求客户端实现。怎么搞???好在作为一个面向搜索引擎开发的工程师来说百度了一波。找到了iOS开发可以使用SKPSMTPMessage进行邮件发送。使用SKPSMTPMessage 步骤(由于网上很多ObjectiveC的使用,这边小编采用Swift完成)【使用步骤】原创 2021-12-13 11:24:10 · 2439 阅读 · 1 评论 -
Swift倒计时按钮
在需要使用倒计时按钮的地方黏贴以下代码 //倒计时验证码 func countDown(_ timeOut: Int, btn: UIButton){ //倒计时时间 var timeout = timeOut let queue:DispatchQueue = DispatchQueue.global(qos: DispatchQoS.QoSClass.default) let _timer:Dispatch原创 2021-12-08 14:59:01 · 1634 阅读 · 1 评论 -
iOS跳转三方地图(Swift)
MapNavigator (View)class MapNavigator: UIView,UIAlertViewDelegate { let toLocation: CLLocationCoordinate2D = CLLocationCoordinate2D.init() let APP_NAME = "BaiDuStudy" let URL_SCHEME = "lgwmapnav://" override init(frame: CGRect) {原创 2021-11-26 12:05:16 · 1232 阅读 · 0 评论 -
iOS 读取本地Json遇到的坑
一开始代码使用如下参考百度的 let path = Bundle.main.path(forResource: "cityList", ofType: "json") print(path) let url = URL(fileURLWithPath: path!) // 带throws的方法需要抛异常 do { /*原创 2021-11-23 21:31:41 · 575 阅读 · 0 评论 -
iOS定位及解析经纬度【Swift】
导入import CoreLocationimport MapKit实现CLLocationManagerDelegate代理初始化位置信息 // MARK:初始化位置 func initLocation() { locationManager.delegate = self //设置定位模式 locationManager.desiredAccuracy = kCLLocationAccuracyBest原创 2021-11-23 19:15:09 · 1242 阅读 · 0 评论 -
iOS 中的RunLoop
写个伪代码,我们的日常:while(活着) 有事干了 = 我睡觉去了(); if (搬砖){ 搬砖() }else if (泡妞){ 泡妞() }else{ 吃饭() }}为什么要有RunLoop?1、使程序一直运行2、使程序在那些时候处理那些Event3、调用结偶(滑动的时候不能卡住、消息队列)4、节省CPU时间于RunLoop有关系的几个东西NSTimer、UIEvent、AutoreleaseCADisplayLink、CATransition、CAAnima原创 2021-11-22 16:12:06 · 694 阅读 · 0 评论 -
【iOS紫色警告】GPUImage启动摄像头耗时
当我们pod下GPUImage 后 如果调用摄像头的代码,到启动摄像头会延迟很久,系统虽然不会报错,但是影响用户体验!!!总结下来!一共两个问题!!输出如下!!!Main Thread Checker: UI API called on a background thread: -[UIView layer] PID: 901, TID: 68934, Thread name: (none), Queue name:Main Thread Checker: UI API called on a b原创 2021-11-09 15:13:09 · 1962 阅读 · 0 评论 -
iOS打包静态库的姿势
一、这个是需要在podfile上面加上的source ‘https://github.com/CocoaPods/Specs.git’source ‘自己的SDK的位置.git’二、cd到自己工程的Example文件下cd Examplepod install————————————Analyzing dependenciesDownloading dependenciesInstalling ZJBTools 0.1.6 (was 0.1.4)————————————三、git推送指原创 2021-11-09 14:18:23 · 1742 阅读 · 0 评论 -
Swift复习资料【三】
Swift从入门到放弃实例【三】四十、 Swift从入门到放弃实例【二】四十一、Any 和AnyObject的区别四十二、类的继承四十三、重载四十四、重写四十五、类型判断处理、对象相等性判断四十六、extension四十七、泛型四十八、协议protocol四十九、lazy 延迟加载五十、普通初始化器、可失败初始化器五十一、必要初始化器、 结构体成员初始化器、闭包设置初始值五十二、ARC五十三、循环引用五十四、五十五、五十六、五十七、五十八、五十九、六十、四十、 Swift从入门到放弃实例【二】四十一、A原创 2021-09-16 11:36:09 · 162 阅读 · 0 评论 -
Swift复习资料【二】
Swift从入门到放弃实例【二】二十、Swift从入门到放弃实例【一】二十一、函数二十二、断言二十三、guard 语句可选项绑定二十四、inout关键字二十五、函数类型二十六、匿名函数二十七、匿名函数作为函数的参数二十八、函数作为方法的返回值二十九、内嵌函数三十、函数的简写三十一、定义枚举、设置枚举值二十、Swift从入门到放弃实例【一】二十一、函数//函数的定义func FunName(){ print("FunName 函数执行(无返回值,无参数)")}FunName()func原创 2021-09-15 11:45:55 · 169 阅读 · 0 评论 -
Swift复习资料【一】
Swift从入门到放弃实例【一】一、HelloWorld二、基本用法三、可选类型?、强制解包!四、可选类型与判断五、元组类型六、基础运算符七、逻辑判断一、HelloWorldvar str = "Hello, playground"print(str)二、基本用法//变量用var。常量用letvar a:String = "Hello World"//类型推断var b = "你好"print(type(of: b))//类型别名typealias dog = Intvar c:原创 2021-09-14 16:02:22 · 190 阅读 · 0 评论