登录社区云,与社区用户共同成长
邀请您加入社区
例如,即使是简单的记事本程序,也需要保存记事本的内容,当程序关闭然后再次打开,这些内容仍然需要显示出来。而iOS和其它操作系统的程序的区别在于iOS通常使用沙盒机制,也就是说每个应用程序的数据文件不能随意选择位置存储,必须存储在这个应用程序对应的文件夹中。总结一下,对于iOS程序,由于沙盒机制,数据文件不能随意存储,需存储在通过FileManager的url()方法找到的专用于存放数据文件的文件夹
操作系统:macOS Mojave 10.14.6编程语:Swift 5.1开发框架:SwiftUI编译器:Apple SwiftIDE:Xcode Version 11.0 beta 6 (11M392R) 运行环境。上述环境可以构建并运该 app,通过 Xcode Simulator。可以模拟出各种Apple 设备。其它 macOS 环境下能否直接运可执程序 simulator 未知。发版 i
是阻塞式的,一次调用完成整个 Agent Loop。如果需要流式输出,用。
让安全回归本质——可见、可管、可控
本文介绍了iOS BLE开发的核心流程和关键知识点。主要内容包括:BLE基础概念(角色划分、通信结构)、Swift开发7步流程(初始化、扫描、连接、发现服务/特征、数据交互)、GATT协议机制(服务/特征交互方式)、断连重连实现方案,以及iOS系统对BLE的特殊限制(扫描/连接限制)。重点突出了特征读写和通知订阅的数据交互方式,并提供了标准化的代码实现模板,为iOS蓝牙开发提供了完整的技术参考。
本文深入探讨iOS开发中UI阴影的性能优化方案。首先分析了原生阴影卡顿的根本原因:未设置shadowPath会导致系统遍历所有像素计算阴影,严重影响性能。文章详细讲解了通过贝塞尔曲线优化阴影渲染的原理,并提供了Swift 5.0+的完整实现方案,包括基础矩形阴影、圆角阴影组合以及UIView扩展封装。重点强调了开发注意事项:必须手动设置shadowPath避免卡顿、正确处理圆角与阴影共存问题、动态
本文详细介绍了iOS开发中常用的工厂模式设计模式,包括简单工厂和抽象工厂两种实现方式。通过Swift代码示例展示了如何封装对象创建过程,降低代码耦合度。文章对比了两种工厂模式的特点和适用场景,列举了UI组件、主题切换、支付渠道等真实业务应用案例。工厂模式能有效提高代码的可维护性和扩展性,但也会增加类数量。开发者应根据项目需求选择合适的工厂模式实现方式,优化对象创建逻辑。
本文详解Swift单例模式,包含核心概念、底层原理、企业级标准写法、真实开发使用场景,附带网络/用户管理器实战代码,同时总结优缺点与开发避坑指南,新手零基础看懂,面试必备、项目可直接复用。
一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络,希望未来技术之巅上有你们也有我。
磁盘分区与挂载操作摘要 在控制节点上新增20GB磁盘后,进行了以下操作: 使用fdisk将磁盘分为两个10GB分区(sdb1和sdb2) 将两个分区格式化为xfs文件系统 卸载原有的swift虚拟设备分区(/srv/node/swiftloopback) 删除原有的swift挂载目录 操作完成后,系统已准备好两个10GB的xfs格式分区,可用于后续挂载到obs1和obs2目录。原有swift虚拟设
创建一个名为ID的主键,数据类型是INTEGER CREATE IF NOT EXISTS chat (ID INTEGER PRIMARY KEY AUTOINCREMENT, chatID INTEGER, content TEXT, target TEXT, mineHead TEXT, otherHead TEXT )使用 INNER JOIN,当一张表中的数据等于另一张表时,将需要用的数
cinder的配置文件位置:/etc/cindercinder的日志文件位置:/var/log/cidner。
本文介绍了iOS开发中线程管理和UI渲染的关键要点。主要内容包括:1) 使用Thread.isMainThread检查主线程状态,通过DispatchQueue.global().async创建子线程;2) 强调UI更新必须回到主线程,示例展示了通过逃逸闭包将数据模型传回主线程的方法;3) 演示了SwiftUI与UIKit的混合开发,使用UIHostingController桥接两种框架,并通过网
解析请求到的内容,并用Model存放在函数中的里执行具体网络请求的时候,执行完毕返回的是dic,
本文介绍如何在不安装Xcode的情况下查看Swift(.swift)和Objective-C(.m)源码文件。两种文件都是纯文本,但语法特性不同:Swift更现代安全,Objective-C更动态成熟。推荐4种查看方式:1)Xcode(功能全但笨重);2)VSCode/AppCode(需配置环境);3)在线工具(有安全隐患);4)OpenFiles工具(最佳方案,支持语法高亮、跨平台、内置AI问答
本期聚焦 WWDC 26 的稳定性修复传闻、为 SwiftData 构建自定义存储格式、为 Agent 提供有效的调试信息、给 Swift 并发任务命名、通过 MistKit 让服务端 Swift 访问 CloudKit等内容。
适用:iOS 13+、SwiftUI@main(Scene 生命周期)现象:长按 App 图标有菜单,点击后 App 启动,但目标页(如 WebView)不出现。本文用伪代码说明原因,不涉及具体业务工程。
摘要 iOS开发中重用机制主要通过UITableView和UICollectionView实现。两者使用流程相似: 继承对应协议(UITableView需实现UITableViewDelegate/DataSource,UICollectionView需实现UICollectionViewDelegate/DataSource) 自定义Cell类并配置样式 实现必须的dataSource方法(ce
在编程过程中,我们经常需要处理字符串。有时需要提取字符串的某一段,或某个字符。
本期 Fatbobman 周报聚焦 Swift 生态新动向:Core Data 与 Observation 的属性级响应、Goodnotes 借助 WebAssembly 走向 Web、Swift Networking Workgroup、WWDC 2026 愿望单,以及 MarkdownPDF、AdaEngine 等项目。
做iOS开发的朋友应该都清楚,我们日常写业务代码,闭包真的是随处可见。网络请求回调、动画回调、GCD异步操作,还有页面反向传值,基本上全都要用到闭包。不过我发现很多开发都有个刻板习惯:写闭包就无脑加 weak self,只知道不加会内存泄漏,但根本不懂背后的原理。平时都是复制粘贴写代码,遇到特殊场景就不知道该怎么处理了。比如这几个常见问题:闭包的循环引用到底是怎么形成的?同样是解决泄漏,到底该用w
本期带来 WWDC 2026 特别盘点:涵盖 Swift 6.4、iOS 27、SwiftUI 与 SwiftData 的最新特性,收录 Xcode 27 Agent 技能、、AI 辅助开发工具等内容
iOS开发 SwiftUI:PhotosPicker的matching怎么用
文章包括了swift的基本语法,持续更新中
摘要: Kingfisher 是一个专为 Apple 平台(iOS/macOS/tvOS/watchOS/visionOS)设计的 Swift 图片加载与缓存库,GitHub 星标超 24000。它通过一行代码 imageView.kf.setImage(with: url) 实现异步下载、多级缓存(内存+磁盘)、图片处理(降采样、圆角等)及 SwiftUI 支持(KFImage)。支持预加载、转
iOS开发 SwiftUI 5 : 文本输入 密码输入 多行输入
【摘要】Alamofire是Swift生态中最流行的HTTP网络库(GitHub 42k+ Star),通过封装URLSession提供简洁的链式API,显著简化iOS开发中的网络请求代码。核心特性包括:一行代码完成请求与模型解析、全面支持Swift Concurrency/Combine、文件传输、自动重试、TLS证书固定等。支持多平台(iOS/macOS/Linux等),推荐通过SPM集成,并
iOS开发 SwiftUI 3 :布局容器和背景色
《awesome-swift:一站式Swift开发资源大全》摘要 GitHub明星项目awesome-swift收录了1100+个精选Swift资源,涵盖网络库、UI组件、数据管理(CoreData/Realm等)、学习教程、架构模式实现(VIPER/Redux等)以及硬件交互开发库。项目采用社区驱动模式持续更新,提供细致的分类检索,帮助开发者快速定位成熟解决方案。目前获2.6万星标,既可作为技术
iOS开发者在SwiftUI中常遇到VStack子视图超过10个就报错的问题,这其实是Swift语言泛型能力的限制。Swift 5.9引入的参数包(Parameter Packs)功能彻底解决了这个问题,允许开发者处理任意数量和类型的视图组合。新特性通过each T语法支持类型安全的可变参数,使ViewBuilder的实现简化为一组泛型参数,打破了原先需要手动编写多个重载函数的限制。这不仅消除了1
本文详细介绍了iOS国际通知短信接口的开发与接入方法。首先解析了接口的核心通信规范和鉴权机制,包括请求方式、字符编码、必填参数及动态密码生成规则。随后提供了完整的Swift实现代码,封装了MD5加密、模板替换、网络请求等功能模块,可直接集成到项目中。最后总结了常见错误排查技巧,帮助开发者快速定位问题。该方案适用于跨境应用的验证码、订单通知等短信发送场景,确保国际用户能稳定接收通知信息。
Swift语言特性与开发实践摘要 Swift作为苹果主推的现代编程语言,具有安全、快速、表现力强三大核心特性。其可选类型(Optional)机制在编译期避免空指针异常,类型安全与ARC内存管理保障代码健壮性。相比Objective-C,Swift语法更简洁,强制空值处理更安全,支持函数式与协议导向编程范式。 关键特性解析: 值类型(struct)与引用类型(class)的区分影响内存管理方式 可选
本期聚焦 Flutter 使用 SPM 作为默认依赖管理器、用 npm 安装 Swift 脚本、打造高可靠的 Watch 通信方案、Swift 6 并发运行时崩溃避坑指南、SwiftUI 预览引擎等
本文是一篇面向零基础开发者的 SwiftUI 实战教程,详细讲解如何用 SwiftUI 实现一个 App 引导页。主要内容包括: 环境准备:只需 Mac 电脑和 Xcode 核心实现步骤: 扩展 Color 支持十六进制颜色码 使用 TabView 实现图片轮播效果 动态显示不同页面的背景色、图片和文字 在最后一页显示"立即体验"按钮 添加页面指示器小圆点 关键知识点: @St
本文介绍了iOS项目中集成高德地图SDK的完整流程。首先通过CocoaPods安装SDK并配置HTTPS访问权限,创建桥接头文件引入相关库。详细说明了Swift项目中调用OC代码的方法,包括Key配置和地图视图创建。针对常见的Sandbox权限问题,提供了通过修改Xcode的UserScriptSandboxing设置项的解决方案。最后展示了如何实现地图页面的跳转功能,为开发者提供了从SDK集成到
iOS推送通知开发全流程指南 本文提供一套完整的iOS远程推送解决方案,涵盖权限注册、DeviceToken获取、三种运行状态下的推送处理及页面跳转逻辑。主要内容包括: 前期配置:推送能力开启、证书配置要求 核心实现: 兼容iOS10+的权限申请流程 DeviceToken获取与上传服务端 推送处理: 前台运行直接接收 后台挂起状态唤起跳转 进程杀死状态冷启动处理 通用跳转方法:自动获取顶层控制器
试图在一个实例上访问一个静态属性或方法。静态成员(static member)是与类本身关联的,而不是与类的具体实例(对象)关联。你只能通过类名来访问它们,而不能通过类的实例。编译器在处理某段代码时遇到了复杂性,导致它耗费了过多的时间来进行类型检查。具体来说,它建议你将复杂的表达式拆分成更简单的部分,以便编译器能更容易理解和处理。这是因为系统的安全沙盒(Sandbox)阻止了脚本在指定的目录下创建
摘要: 本文介绍了iOS开发中基于MVC架构的模块划分,重点讲解了定位功能的实现流程。系统分为Model、View、ViewController和Public四个模块,采用Block传递界面事件。具体实现包括:在聊天页面获取定位权限,创建地图消息Cell(含小地图和地址信息),以及开发地图页面(集成高德地图SDK)。关键步骤涉及CLLocationManager权限管理、逆向地理编码和位置信息传递
本文详解Swift观察者模式,包含核心概念、手写底层原理、系统通知、Combine实战代码、项目真实业务场景,同时总结优缺点和开发避坑点,通俗易懂,适合面试背诵、项目直接复用。
本文介绍了使用UserDefaults存储小型数据的方法,重点以聊天记录存储为例。UserDefaults适合存储基础数据类型(字典、数组、字符串等),但不适合存储超过2MB的数据或高级数据类型。实现步骤包括:1)将Model转换为字典形式存储;2)从字典还原为Model;3)根据chatID存取数据。具体通过四个方法实现:save()存储消息、toDic()转换Model为字典、toChatMo
swift
——swift
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net