自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(172)
  • 资源 (7)
  • 问答 (6)
  • 收藏
  • 关注

原创 Swift JSON转模型Xcode插件

SwiftJSONModeler是一个Xcode插件,一键转换json字符串为Swfit模型,一键转化 YApi 平台接口为模型,并且自动引入注释。

2020-02-07 16:55:58 1020

原创 无符号整型数0减1

无符号整型数0减1是一个很大的正整数哟。

2024-04-01 20:00:00 121

原创 通过Apple Configurator 2导出iOS ipa包

通过Apple Configurator 2 导出 ipa

2024-03-05 20:15:00 749

原创 手动下载iOS模拟器安装

如果下载iOS模拟器总是失败怎么办? 用它,直接下载。

2023-08-24 15:30:10 1861

原创 iOS 页面布局兼容放大模式

如何让自己的 UI 兼容性更好,避免放大模式带来 UI 遮挡问题?

2023-08-24 14:11:31 1577

原创 Swift 注释和文档

今天,我知道我写是什么,上帝和我知道明天,我知道这个代码什么意思,后天,我知道这是我写的代码,一周后,这TM谁写的代码,此时只有上帝才知道啥意思论代码注释的重要性。

2023-04-20 17:09:29 1479 3

原创 iOS Matter 操作证书签发方案

在 Matter 配网和操作中,为了信息交互的安全,在配网时,Commissioner自身需要完整的证书,同时需要向设备安装操作证书。

2023-04-20 14:13:54 1458

原创 iOS 紧急通知

紧急通知申请和配置

2023-03-21 18:27:07 9885 1

原创 Apple Configurator 给 Apple TV 安装证书

使用 Apple Configurator 和电脑配对。

2022-10-27 14:25:41 2198

原创 使用Swift编写脚本

通常我们在编写脚本处理自动化或者通用处理的时候,使用的是 Shell 语言,但是作为有一个 Swift 语言使用者,你应该知道,Swift 也可以作为脚本语言来编写脚本。为什么用 Swift 了?1. 降低 iOS 开发者的脚本开发难度2. 利用 Swift 高级语言特点3. 轻松调用 Swfit 库4. 在 iOS Mac 上处理脚本更方便...

2022-04-29 17:38:17 3921

原创 Swift 使用正则表达式

正则表达式对于字符串的匹配、查找、替换是非常实用的。那在 Swift 中怎么来使用正则表达式了?以及正则表达式初高级使用。

2022-04-28 17:41:06 3268

原创 iOS多环境切换

在应用开发中,我们的流程为:开发-测试-预发布-发布 AppStrore所以就会有不同的环境,比如开发环境,测试环境,预发布环境以及正式环境那么就会产生配置不同环境的如下需求。1. 不同环境设置不同 host ,应用图标(可选)2. 能够快速查看环境、版本号、build 号等信息3. 能够配合自动打包

2022-04-14 18:10:34 6867 1

原创 iOS 绘制圆角矩形

在 UIView 的 drawRect 方法中如何绘制圆角矩形了?

2022-03-24 09:58:41 2033

翻译 Swift监听网络状态

我们将介绍使用Swift 5在iOS上监控网络连接状态的原生解决方案,以及如何使用Network Link Conditioner。你将会发现要监听设备网络连接状态,大部分都是依赖第三方框架,如Reachability、Alamofire的NetworkReachabilityManager,或建议您创建一个定期尝试提出HTTP请求的实用程序,以确定网络连接状态。我们只需要苹果的Network框架中的NWPathMonitor 即可实现监听。

2022-02-28 18:34:27 3290

转载 UIButton状态探索和自定义

作为 **iOS** 开发者,一提到控件,就不得不提到 `UIButton`,它做为 **iOS** 系统最常用的响应用户点击操作的控件,为我们提供了相当丰富的功能以及可定制性。而我们的日常工作的 80% ~ 90% 做是在与 **UI**打交道,处理控件在用户的不同操作下的不同状态,最简单的,比如用户没有登录时,按钮置灰不可点击,用户点击时出现一个反色效果反馈到用户等等。对常用状态的定义,系统在很早的时候就给出了如果遇到满足的状态怎自定义添加了。

2022-02-09 16:38:29 1034

转载 网易云音乐 iOS14小组件实践手册

苹果在今年的 WWDC20 上发布了小组件(WidgetKit),支持在 iOS、iPadOS 主屏幕展示动态信息和个性化内容。加上 iOS 系统应用抽屉的加入,苹果对一向保守主屏幕大动干戈,导致用户也对小组件非常期待。但小组件的运行限制很多,如何在有限的机制上怎样做好用户体验就成为需要完成的挑战。此文介绍小组件创建、原理和使用实战

2022-02-09 15:31:22 2463

原创 Objective-C NS_OPTIONS 类型的枚举

NS_Options 是 Objective-C 中枚举的一种,被定义为按位掩码,可以进行组合枚举表示。用简单的`|`或者`&`数据运算来实现整数的编码。每一个值不是自动被赋予从0开始依次累加1的值,而是手动被赋予一个带有一个bit偏移量的值:类似`1

2021-12-31 11:02:09 2215

翻译 iOS Core Bluetooth 基础知识

本文假设您了解蓝牙低能耗(BLE)和iOS编程的基础知识(包括许多iOS原生API常见的异步调用的委托模式),并旨在作为iOS核心蓝牙库来龙去向的综合指南。我们将指导您了解API的主要组件,包括扫描、连接和与BLE外围设备交互的基本步骤,以及iOS上BLE的常见陷阱和要了解的事情。

2021-12-24 18:06:29 2656

转载 蓝牙 GATT 协议

现在低功耗蓝牙(BLE)连接都是建立在 GATT (Generic Attribute Profile) 协议之上。GATT 是一个在蓝牙连接之上的发送和接收很短的数据段的通用规范,这些很短的数据段被称为属性(Attribute)。

2021-12-22 16:53:51 1544

原创 iOS单元测试

是对最小单元(方法、函数)的验证性测试。一般来说,单元测试不需要依赖外部环境、网络环境、数据库环境。

2021-12-17 15:15:08 2883

原创 iOS UITest之加载其他应用

通过 XCUIApplication 唤醒其他应用,进行操作交互。

2021-12-14 17:02:33 2552

原创 iOS模拟器发送通知和UI测试

我们可能通过点击通知直接跳转到页面指定页面,或者点击通知打开web页面,更或者通过其他应用启动 app打开指定页面。面对这种跳转指定页面我们应该如何做 UI测试了?

2021-12-11 17:43:53 3160

转载 iOS混编参考阅读

鉴于 Objective 已经打下了一大片江山,但是还是要将江山与 Swift 共享,所以就涉及到项目使用 Objective-C 和 Swift混编,如果让这两种语言更加相互融合,充分利用 Swift 的语言优势了。怎样让 Objective-C 更便利桥接给 Swift以下内容来源于师大小海腾–掘金,详情建议阅读原文,原文有许多举例和相关参考阅读。iOS 混编|为 Objective-C API 指定可空性关键词:nullable、nonull、null_resettable、null_rese

2021-11-23 15:58:54 1010

翻译 利用扩展来约束泛型

利用扩展来约束泛型原文:Specialized extensions using generic type constraints将Swift强大的泛型系统与任何Swift类型都可以与新的API和功能扩展这一事实相结合,使我们能够编写有针对性的扩展,在类型或协议符合特定要求时有条件地向其添加新功能。这一切都从where关键字开始,它允许我们在一系列不同情况下应用泛型类型约束。在本文中,让我们看看该关键字如何应用于扩展,以及可以通过这样做解锁哪种模式。基于泛型类型限制扩展我们可以使用更具体的API扩

2021-11-02 14:05:30 817

原创 Codable 基本使用

Codabel JSON转模官方文档:Using JSON with Custom TypesJSON 介绍:JavaScript Object NotationCodable 是 Swift 引入的全新的编解码库,使开发者更方便的解析JSON 或 plist 文件。支持枚举、结构体和类。协议定义如下:typealias Codable = Decodable & Encodablepublic protocol Decodable { public init(from dec

2021-10-27 14:29:29 2705

原创 【iOS数据持久化】偏好设置(UserDefaults)

官网文档:NSUserDufaultClass Reference关于偏好设置:AboutPreferences and SettingsUserDefualts是一种便利的,通过key-value的一种持久化方案。常用于存储应用相关的用户设置,自定义个性化设置,首次使用引导等。适合于简单数据小量储存,涉及记住密码和隐私,建议采用keyChain。偏好设置以plist文件形式存储在应用沙盒的Preferences目录下,文件名:bundleId.plist对于 Swift 来说 UserDefua

2021-10-15 14:12:11 2324

原创 RxSwift设置 UITextField文本订阅未响应

通过以下代码,可以快速实现输入框文本变化监听textField.rx.text.orEmpty .subscribe(onNext: { print("您输入的是:\($0)") }) .disposed(by: disposeBag)但是,如果通过设置text属性则无法触发。textField.text = "修改文本"解决方案我们在设置值的同时,手动发送一个事件,则会触发订阅。text

2021-09-30 11:07:51 891

原创 【代码段】UITableView Section圆角

UITableView Section圆角extension UITableView { /// section圆角 需要在 `WillDisplayCell`中调用 /// - Parameters: /// - cell: cell 对象 /// - indexPath: index /// - cornerRadius: 圆角值 /// - inset: inset 偏移,比如 cell 含有 containerView ///

2021-08-30 16:29:56 292

原创 【代码段】UIView 部分圆角

UIView 部分圆角我们可以使用view.layer.cornerRadius = 10来实现全部圆角,但是如何正确实现部分圆角了。通过 maskLayer 方式iOS 11之前通用处理方式 /// 部分圆角 /// - Parameters: /// - corners: `UIRectCorner`枚举 /// - radii: 圆角值 /// - size: 需要圆角的矩形大小,默认值为 nil 使用当前 view bounds。 如果不传入需要

2021-08-23 15:48:22 1006

原创 UIScrollView 使用

UIScrollView 基本使用苹果的官方文档:Scroll View Programming GuideUIScrollView 是 iOS 非常重要的具备滚动能力的视图,能滚动的控件基本继承自 UIScrollView,比如UITableView, UICollectionView, UITextView等。主题响应滚动交互var delegate: UIScrollViewDelegate?内容大小和偏移量var contentSize: CGSize视图可以滚动的大小,决定了可以滚

2021-08-20 16:33:48 613 1

原创 Git 只拉取部分文件

Git 只拉取部分文件git sparse-checkout 稀疏检出功能sparse-checkout稀疏检出是 git 官方提供的命令,可以做到部分文件拉取。主要是一下步骤:mkdir filename 创建本地文件目录git init加入 git 版本管理git config core.sparsecheckout true开启稀疏检出功能在.git/info目录下新建sparse-checkout文件该文件的编写语法与.gitignore 忽略文件方式一致wantfiledir

2021-04-26 11:43:22 7646

原创 Swift Property Wrapper 属性包装器

@propertyWrapper属性包装器:在定义存储属性时添加一个分离层,代表该属性被包装起来,且在包装器内部可以做一些事情。把一些通用复用的代码放在了包装器中,比如线程安全检查或者数据存储到数据库中。个人理解:简单定义的属性只能具备存储功能,供其他方法调用。而被属性包装器修饰的属性不仅具备存储能力,还可以具备计算型属性的能力(setter,与 getter),甚至还可以通过属性包装器存储更多变量或者方法。官方文档: Property Wrappers Property Wrappers 演化进程

2021-04-23 15:56:45 1602

原创 Xcode 使用小技巧

Xcode 使用小技巧初始化构造Xcode 为 swift 类或者机构体提供初始化构造器生成,虽然有时候生成可能不符合,但是我们可以生成后快速修改。按住 Cmd 键,左键选择需要生成的类或者结构体,即可弹出下面弹窗,选择 Generate Memberwise Initializer即可拼写检查打开自带的拼写检查,可以检查单词拼写错误和驼峰命名问题提示。打开方式:Edit --> Format --> Spelling add Grammar --> Check Spel

2021-04-19 16:35:16 386 1

原创 iOS 定时器使用(Timer 和 CGD)

在程序开发中,我们常常借助定时器完成定时任务,比如短信验证码倒计时、运动计时等具有时间序列概念的操作。最常用的定时方式有Timer 和GCD dispatchTimerTimer的使用Timer 官方文档Timer/NSTimer: 在某个时间间隔之后触发的定时器,向目标对象发送指定的消息。 Timer 的完成往往配合runloop和相应的 mode。初始化创建即添加到当前 runloop通过带 scheduledxxx方法初始化的定时器,创建就会添加到当前 runloop ,且以 defau

2021-04-13 17:33:41 2283

原创 HTTP 各版本特点与区别

HTTP 各版本特点与区别HTTP 各版本一览表版本功能备注0.9仅支持 Get仅能访问 HTML 格式资源简单单一1.0新增POST,DELETE,PUT,HEADER等方式增加请求头和响应头概念,指定协议版本号,携带其他元信息(状态码、权限、缓存、内容编码)扩展传输内容格式(图片、音视频、二进制等都可以传输)存活时间短1.1长连接:新增 Connection 字段,可以通过keep-alive保持长连接管道化:一次连接就形成一次管道,管道内进行多次有序响应

2021-04-13 11:05:34 1101

原创 HTTP Content-Length与分块传输

HTTP Content-Length与分块传输Content-Length是HTTP 请求用来告知body实体大小的一个字段。比如Content-Length:1076表示 body数据量为1076B。如果使用 gzip, 长度值为实际压缩后的大小,而非原始数据大小。分块传输分块传输编码(Chunked transfer encoding)是超文本传输协议(HTTP)中的一种数据传输机制,允许HTTP由应用服务器发送给客户端应用的数据(通常数据量较大或者长度未告知,比如视频,文件文档,动态生成)

2021-04-08 11:35:42 1919

原创 iOS HTTP与 HTTPS

iOS Http/HttpsHttps 知识图总览TCP三次握手与四次挥手网络连接是需要三次握手才可以连接上。建立连接(tcp三次握手):我知道你知道我知道了断开连接(四次挥手):我确定了你确定要关闭注:"我"指服务器, 但是每次都是由客户端发起详细过程参考:TCP的三次握手与四次挥手理解及面试题(很全面)TCP 三次握手TCP 四次挥手常见面试问题为什么要三次握手、四次挥手?答:为了确认要连接和确认要断开连接。并简述三次握手、四次挥手流程。为什么不能用两次握手进行连接?

2021-04-01 15:09:04 795

原创 iOS自定义View 控件自动计算size能力

iOS自定义View 控件自动计算size能力背景在使用 UILabel 和 UIImage 的时候,不用指定宽高约束,控件也不会报约束缺失,还可以根据内容自己确定适合的宽高,特别适合 Xib 和 Storyboard 布局。我们在自定义控件的时候,怎么才能让控件具备这种自动计算宽高的功能了?基本知识点只需要自定义控件满足以下条件之一即可:自定义控件实现intrinsicContentSize的重写并返回合适大小,适合子控件存在 frame初始化,或者动态添加。自定义控件内部约束满足这时

2021-03-30 17:02:24 3074

原创 Swfit 常用特性(Attribute)关键字

Swfit 常用特性(Attribute)关键字Swift中的Attribute相当于Java中的注解,但是可惜的是目前Swift不支持自定义AttributeSwfit的特性关键字一般用于声明或者用于类型使用形式 @属性关键字 或者带参数@属性(参数)@availabel@available用来标识 计算属性(不包含储存属性)、函数、类、结构体、枚举等声明周期(依赖特定版本或者Swift语言版本)该特性总是以一个或者多个以下列表字段开始平台参数或Swift版本iOSiOSApplica

2021-03-18 15:48:08 674

原创 RxSwift技术路线与参考资料

RxSwift技术路线与参考资料## RxSwift简介响应式编程响应式编程(Reactive Programming)是一种通过异步和数据流来构建事务关系的编程思想。核心体现就是观察者和可被观察者,通过构造操作数据序列,然后再对这些序列作出响应。响应式编程框架在Objective-C语言中,也流行着响应式编程框架ReactiveCocoa而在Swift语言中,最受欢迎的应该是ReativeX社区的RxSwiftRxSwift知识图详细参考RxSwift知识图xmindRxSwift参考

2021-03-18 15:46:17 433

OC和Swift混编.pdf

OC混编Swift, Swift项目混编Objective-C Framework Target混编。 Swift 怎么遵循 OC运行时 混编的一些坑

2020-05-06

web应用项目工程结构

主要解释一下一个web项目的各个文件夹的作用, 开发web应用, 一般需要创建数据表->通过数据表生成实体类->通过实体类生成jsf页(包括后台页面)当然前端页面需要自己写。 文件详情参考hdgxb工程

2016-06-12

mysql数据表模糊查询

mysql数据表模糊查询

2016-06-04

SQLite.swift使用简介

SQLite.swift使用简介,用于ios开发使用Sqlite 数据库

2016-05-05

ios中的设计模式(swift)

一些 Cocoa 中常见的设计模式: • 创建型 (Creational):单例模式 (Singleton) • 结构型 (Structural):MVC、装饰者模式 (Decorator)、适配器模式 (Adapter)、外观模式 (Facade) • 行为型 (Behavioral):观察者模式 (Observer)、备忘录模式 (Memento)

2016-04-11

自动布局英文文档

本文档主要是自动布局的基础原理或者概念理解,闲一边编程,一边打开网站看帮助文档麻烦,将苹果开发者文档的自动布局整理下来,有些注视错误请见解。

2015-12-24

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除