自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

smileKH的博客

待我代码编成,取你为妻如何!

  • 博客(744)
  • 资源 (4)
  • 收藏
  • 关注

原创 Flutter App 架构文档

本文介绍了一个优秀Flutter应用框架的核心架构和实现方案。主要内容包括分层架构设计(UI层、业务层、数据层、基础设施层)、基于Riverpod+Freezed的状态管理、网络层配置(Dio+拦截器)、Repository模式的数据层实现等。项目采用模块化结构,强调关注点分离和依赖倒置原则,通过统一代码规范和测试策略确保应用的可维护性、可扩展性和性能优化。文章详细说明了各层的职责划分和最佳实践,为构建健壮的Flutter应用提供了系统化指导。

2025-10-09 17:46:40 349

原创 30天学会Swift-30:SwiftUI-项目实战与部署

笔记列表:显示所有笔记,支持添加、删除、编辑。笔记详情:显示笔记内容,支持编辑。数据持久化:使用Core Data存储笔记。搜索功能:在笔记列表中搜索笔记。

2025-08-16 09:51:18 983

原创 30天学会Swift-29:SwiftUI-集成第三方库与Swift Package Manager

摘要 本文介绍了在SwiftUI项目中集成第三方库的方法和常用工具。主要内容包括:使用Swift Package Manager(SPM)添加、更新和移除第三方库的详细步骤;推荐了三个实用的SwiftUI相关库(Kingfisher图片加载、Lottie动画、Charts图表)并提供了使用示例;强调了使用第三方库的优势(提高效率、保证质量、实现复杂功能)和注意事项(兼容性检查、文档阅读)。最后设计了两个实践练习:通过Kingfisher显示网络图片和集成Lottie播放动画,帮助开发者掌握实际应用技巧。

2025-08-16 09:50:24 1277

原创 30天学会Swift-28:SwiftUI-网络请求与JSON解析

本文介绍了在SwiftUI应用中实现网络请求的方法。主要内容包括:使用URLSession进行HTTP请求、通过Codable协议解析JSON数据、处理异步操作(async/await)以及在视图中展示网络数据。文章提供了创建API服务类、定义数据模型、执行网络请求和错误处理的完整代码示例,并展示了如何在SwiftUI视图中绑定和显示数据。同时介绍了POST请求的编码实现,帮助开发者全面掌握iOS网络编程的核心技术。

2025-08-16 09:49:41 441

原创 30天学会Swift-27:SwiftUI-CoreData集成

本文介绍了在SwiftUI项目中集成和使用Core Data的方法。主要内容包括:Core Data的核心组件(NSManagedObjectModel、NSPersistentStoreCoordinator等);如何在Xcode中创建Core Data项目并配置PersistenceController;定义数据模型和NSManagedObject子类;使用@FetchRequest获取数据并自动更新视图;实现数据的增删改操作(通过NSManagedObjectContext);以及数据持久化的基本原理

2025-08-16 09:49:00 672

原创 30天学会Swift-26:SwiftUI-自定义视图与布局

SwiftUI自定义视图与布局系统摘要 SwiftUI提供了强大的自定义视图能力,可通过创建遵循View协议的struct来构建可重用组件,支持数据绑定和样式封装。ViewModifier允许将修饰逻辑封装成可复用样式。SwiftUI采用"提议-协商-确定"的布局机制,通过VStack、HStack等容器视图和frame、padding等修饰符控制布局。GeometryReader能获取视图尺寸和位置信息,用于动态布局。PreferenceKey和AnchorPreference实现了视

2025-08-16 09:48:19 814

原创 30天学会Swift-25:SwiftUI-手势

SwiftUI手势处理指南 本文介绍了SwiftUI中常用的手势识别功能,包括点击、拖动、缩放和旋转手势的基本用法。主要内容包括: 点击手势(onTapGesture)的单次和多次点击实现 拖动手势(DragGesture)的基本使用和状态信息 缩放手势(MagnificationGesture)的实现方法 旋转手势(RotationGesture)的应用 三种手势组合方式:同时识别(simultaneously)、顺序识别(sequenced)和排他识别(exclusively) 每种手势都提供了清晰的代

2025-08-16 09:47:34 347

原创 30天学会Swift-24:SwiftUI-动画与过渡

本文介绍了SwiftUI中的动画实现方法,包括隐式动画(.animation修饰符)和显式动画(withAnimation函数)。主要内容涵盖:1)基础动画原理和预定义动画曲线;2)视图过渡效果(transition)的实现与组合;3)高级动画技巧如自定义曲线、延迟重复动画以及matchedGeometryEffect的几何匹配动画。文章通过代码示例演示了各种动画效果,并提供了四个实践练习项目,帮助开发者掌握按钮动画、进度条、卡片翻转和自定义过渡等常见场景的实现。最后提出三个思考题,引导开发者深入理解动画选

2025-08-16 09:46:50 514

原创 30天学会Swift-23:SwiftUI-数据流与环境

SwiftUI提供了多种数据流管理工具,包括@State、@Binding、@ObservedObject、@StateObject和@EnvironmentObject。@State用于视图内部简单值类型数据管理,@Binding实现父子视图双向绑定。@ObservedObject和@StateObject用于管理引用类型数据,前者不拥有数据,后者拥有数据所有权。@EnvironmentObject通过环境共享数据,避免手动传递。这些属性包装器配合ObservableObject和@Published,能

2025-08-16 09:46:05 764

原创 30天学会Swift-22:SwiftUI-列表与导航

摘要:本文介绍了SwiftUI中列表和导航的核心功能,包括:1)使用List和ForEach创建静态/动态列表;2)通过NavigationView和NavigationLink实现页面导航;3)数据传递方法;4)列表的删除、移动等编辑功能;5)列表样式设置。最后提供了联系人列表的实践练习,帮助掌握这些功能在实际开发中的应用。

2025-08-16 09:45:13 349

原创 30天学会Swift-21:SwiftUI入门

本文介绍了SwiftUI框架的核心概念和使用方法。主要内容包括:1)SwiftUI的声明式UI特性和跨平台优势;2)项目结构和基本视图(Text/Image/Button)的使用;3)VStack/HStack/ZStack等布局容器;4)@State和@Binding状态管理机制;5)修饰符的链式调用。通过创建个人信息卡片、交互式按钮和双向绑定等实践练习,帮助开发者掌握SwiftUI的基础应用。思考题探讨了声明式UI的优势及状态管理机制的作用。

2025-08-16 09:44:29 1002

原创 30天学会Swift-20:并发编程-Actors与Async/Await

本文介绍了Swift 5.5+引入的结构化并发编程模型。主要内容包括:1)async/await语法使异步代码编写更直观;2)Actor模型通过隔离机制解决数据竞争问题;3)Task和TaskGroup管理并发任务;4)Sendable协议确保跨并发域类型安全。文中通过银行账户和图片下载等示例,展示了如何编写安全可靠的并发代码。这些新特性简化了Swift并发编程,提高了代码可读性和安全性。

2025-08-16 09:43:38 916

原创 30天学会Swift-19:并发编程-GCD与Operation

本文介绍了iOS并发编程的核心技术,包括GCD和OperationQueue。主要内容涵盖:1)GCD的串行/并行队列、主队列、全局队列的使用方法;2)同步/异步执行、延迟执行的实现;3)DispatchGroup和DispatchSemaphore的任务同步机制;4)Operation和OperationQueue的高级功能,如任务依赖、取消和并发控制。文章还对比了GCD与OperationQueue的特性差异,帮助开发者根据需求选择合适的并发方案。

2025-08-16 09:42:59 732

原创 30天学会Swift-18:内存管理-ARC

本文介绍了Swift中的自动引用计数(ARC)机制,包括其工作原理、循环强引用问题及解决方案。ARC通过跟踪类实例的强引用计数来自动管理内存,当引用计数为零时释放实例。循环强引用会阻止内存释放,可通过weak(弱引用)和unowned(无主引用)解决。文章还说明了闭包中的循环引用问题,建议使用捕获列表配合weak/unowned来避免。最后提供了实践练习,帮助理解如何识别和解决循环引用问题。

2025-08-16 09:41:58 901

原创 30天学会Swift-17:访问控制(Access Control)

访问控制限制了代码中不同部分(如类、结构体、枚举、属性、方法、初始化器等)的可见性。它有助于封装代码,隐藏实现细节,并确保代码的稳定性和安全性。访问级别定义模块内导入模块内可继承/重写 (外部)open✅✅✅public✅✅❌internal✅❌❌仅当前文件❌❌private仅当前声明❌❌。

2025-08-16 09:40:59 968

原创 30天学会Swift-16:扩展(Extensions)

本文介绍了Swift中扩展(Extensions)的核心概念和使用方法。主要内容包括:1)扩展的基本语法和用途,允许为现有类型添加新功能而无需修改源代码;2)具体应用场景:添加计算属性、实例方法/类型方法、初始化器、下标;3)使现有类型遵循新协议的能力。通过多个代码示例(如为Double添加单位转换、为Int添加奇偶判断等)展示了扩展的实际应用,并提供了实践练习题目(字符串回文判断、数组安全访问等)。最后提出思考题探讨扩展与继承的区别、限制条件(如不能添加存储属性)以及实际开发中的应用场景。

2025-08-16 09:40:09 1053

原创 30天学会Swift-15:错误处理(Error Handling)

Swift错误处理摘要 Swift提供了类型安全的错误处理机制,通过Error协议定义错误类型(通常使用枚举)。使用throw抛出错误,do-catch语句捕获和处理错误。try?将错误转换为可选值,try!强制忽略错误(可能崩溃)。defer语句确保在作用域退出时执行清理代码,无论是否发生错误。错误处理机制强调可预测性,适用于网络请求、文件操作等可能失败的操作场景。

2025-08-11 23:00:44 489

原创 30天学会Swift-14:泛型(Generics)

本文介绍了Swift中泛型编程的核心概念与应用。主要内容包括:1)泛型简介,说明泛型如何提高代码复用性和类型安全性;2)泛型函数的定义与使用,通过swapTwoValues示例展示类型参数的应用;3)泛型类型的实现,以Stack结构体为例;4)类型约束机制,演示如何通过协议或类限制类型参数;5)关联类型在协议中的使用,结合Container协议案例说明。文章还提供了实践练习,包括编写泛型函数来打印数组和获取中间元素。这些内容全面覆盖了Swift泛型编程的基础知识,帮助开发者编写更灵活、高效的代码。

2025-08-07 23:08:57 446

原创 30天学会Swift-13:协议(Protocols)

本文系统介绍了Swift协议的基本概念与使用方法。主要内容包括:1)协议定义语法及类型遵循方式;2)协议属性与方法要求及实现规范;3)协议作为类型的使用场景;4)协议继承与组合的语法及应用。通过实践练习(如定义Vehicle协议、实现Togglable协议等)帮助掌握协议编程技巧,并提供了协议与类继承的对比思考。适合Swift开发者系统学习协议特性,提升面向协议编程能力。

2025-08-07 23:08:18 475

原创 30天学会Swift-12:初始化与反初始化

本文介绍了Swift中的初始化机制,包括初始化器(Initializers)的基本概念和使用方法。主要内容涵盖:1)默认初始化器和成员逐一初始化器的语法;2)指定初始化器(Designated Initializers)和便利初始化器(Convenience Initializers)的区别及调用规则;3)两段式初始化的执行流程;4)可失败初始化器(Failable Initializers)的定义和应用场景;5)反初始化器(Deinitializers)的作用和调用时机。通过代码示例展示了各类初始化器的实

2025-08-07 23:07:40 456

原创 30天学会Swift-11:继承与多态

Swift面向对象编程:继承与多态 本文介绍了Swift中面向对象编程的核心概念——继承与多态。主要内容包括: 继承机制:通过基类(Vehicle)和子类(Bicycle/Tandem)展示类层次结构的构建 方法重写:使用override关键字重写父类方法和属性,包括属性观察器的使用 访问控制:super关键字调用父类实现,final关键字防止重写 多态特性:通过Animal父类和Dog/Cat子类演示运行时多态行为 实践练习部分要求实现Shape类及其子类Circle/Rectangle,重点练习继承、方

2025-08-07 23:07:04 411

原创 30天学会Swift-10:属性与方法进阶

本文介绍了Swift中的四个重要特性:延迟存储属性、类型属性、类型方法和下标。延迟存储属性(lazy)允许属性在首次使用时才初始化,适用于计算复杂或不一定会用到的属性。类型属性(static/class)属于类型本身而非实例,类型方法同理。下标(Subscripts)则可以通过索引访问集合元素,支持读写操作。文章通过代码示例展示了这些特性的具体用法,并建议实践练习来巩固学习,包括创建带延迟加载的ImageLoader类、使用类型属性和方法的AppConfiguration类等。这些特性能够提高代码的灵活性和

2025-08-07 23:06:26 311

原创 30天学会Swift-09:枚举

Swift中的枚举(enum)是强大的类型,可以定义一组相关值并支持关联值、原始值和递归特性。枚举成员可以关联不同类型的数据(如Barcode示例),也可以使用原始值(字符串、数字等)作为默认值。递归枚举(如ArithmeticExpression)通过indirect关键字支持自身类型的关联值,适用于树形结构等场景。此外,枚举还能定义方法、遵循协议,并通过switch进行模式匹配。实践练习包括定义交通灯枚举、添加关联值和原始值等操作,帮助掌握枚举的核心用法。

2025-08-07 23:05:44 298

原创 30天学会Swift-08:结构体与类

本文介绍了Swift中结构体(struct)与类(class)的核心概念。主要内容包括:1)结构体和类的定义语法及实例创建;2)两者关键区别:结构体是值类型(拷贝行为),类是引用类型(共享引用);3)常用属性类型:存储属性和计算属性的定义与用法;4)实例方法和类型方法的使用;5)属性观察器(willSet/didSet)的实现。文章强调Swift鼓励优先使用结构体,仅在需要继承、引用共享等特性时使用类,并提供了详细的代码示例说明各类语法特性。

2025-08-07 23:05:09 477

原创 30天学会Swift-07:函数

Swift函数基础摘要:本文介绍了Swift中函数的定义与使用,包括基本语法、参数传递、返回值处理等核心概念。主要内容涵盖:1)函数定义使用func关键字,支持参数和返回值;2)参数标签和外部参数名的使用技巧;3)可变参数和输入输出参数的特殊用法;4)函数类型及其高级应用场景。文章通过示例代码演示了不同类型函数的编写方式,如无参函数、多返回值函数等,并提供了实践练习建议。适合初学者掌握Swift函数编程基础。

2025-08-07 23:04:32 428

原创 30天学会Swift-06:可选类型 (Optionals)

Swift中的可选类型(Optional)用于安全处理可能缺失的值,通过?声明。强制解包(!)风险大,应优先使用可选绑定(if let/guard let)安全解包。隐式解包可选类型(!)适用于初始化后必有值的情况。可选链(?.)能优雅地处理嵌套可选值访问。这些机制共同保障了Swift代码的类型安全性。

2025-08-07 23:03:52 322

原创 30天学会Swift-05:集合类型 - 集合 (Set)

本文介绍了Swift中集合(Set)的基本概念和使用方法。主要内容包括:1) 集合的特点:唯一性、无序性和可哈希性;2) 集合的创建与初始化方式;3) 集合元素的访问、修改、插入和删除操作;4) 集合遍历方法;5) 常用的集合操作,如并集、交集、差集和对称差集;6) 集合间的关系判断。文章还提供了实践练习和思考题,帮助读者巩固所学知识。通过学习,可以掌握Swift集合的基本操作,理解其适用场景和优势。

2025-08-07 23:03:13 485

原创 30天学会Swift-04:集合类型 - 数组与字典

本文介绍了Swift中数组和字典的基本使用。主要内容包括:数组的创建、初始化、访问修改和遍历方法;字典的键值对操作、增删改查和遍历技巧。通过具体代码示例展示了空数组/字典创建、默认值设置、字面量初始化,以及使用下标语法和内置方法进行元素操作。同时讲解了如何利用for-in循环遍历集合数据,并获取键值或索引。最后提供了创建书籍列表的实践练习。

2025-08-07 23:02:36 463

原创 30天学会Swift-03:字符串与字符

Swift字符串操作指南摘要:本文系统介绍了Swift中字符串和字符的核心操作,包括字符串的创建(单行/多行字面量)、初始化、拼接与插值,以及字符遍历方法。重点讲解了基于Unicode的字符串索引机制,包括字符串修改(插入/删除)和比较操作(相等性/前缀后缀检查)。文章还提供了5个实践练习,涵盖字符串操作、Unicode遍历和协议检查,并提出了3个关于字符串索引设计、性能差异和类型本质的思考题,帮助开发者深入理解Swift字符串的特性与最佳实践。

2025-08-07 23:01:59 414

原创 30天学会Swift-02:运算符与控制流

本文介绍了Swift语言中的基本运算符和控制流结构。主要内容包括:1) 算术、比较、逻辑、赋值和区间运算符的使用;2) 条件控制语句if-else和switch的应用;3) 循环控制语句for-in、while和repeat-while的实现;4) break和continue控制循环流程的方法。文章通过代码示例详细展示了各种语法结构的使用场景,并提供了实践练习帮助巩固知识点。最后提出了几个思考题,帮助理解不同控制结构的选择依据。适合Swift初学者系统学习基础语法和控制流程。

2025-08-07 23:01:16 432

原创 30天学会Swift-01:Swift入门与基本语法

本文介绍了Swift语言的基础知识,包括其安全、快速、现代的编程特点,以及Xcode开发环境的安装配置。重点讲解了常量(let)和变量(var)的区别与使用原则,详细说明了整型、浮点型、布尔型和字符串等基本数据类型的使用方法。还介绍了Swift的类型推断机制和类型安全特性,以及print()函数输出和注释的写法。最后提供了实践练习和思考题,帮助学习者巩固知识,并推荐了官方学习资源。

2025-08-07 23:00:25 478

原创 30天学会OC-30:总结与展望

本文总结了30天Objective-C学习旅程的关键内容,回顾了从基础语法到iOS框架开发的系统学习路径。虽然Swift已成为主流,但Objective-C在维护现有项目、与C/C++互操作方面仍具价值。展望未来,建议开发者关注SwiftUI、架构模式、性能优化等进阶方向,并强调持续实践、阅读官方文档、参与开源项目的重要性。30天的学习是iOS开发旅程的起点,保持学习热情和动手实践才能成长为优秀开发者。

2025-08-07 22:56:39 655

原创 30天学会OC-29:项目实战与调试技巧

本文介绍了iOS项目开发的完整流程和调试技巧。主要内容包括:1) iOS项目开发5大阶段(需求分析、项目搭建、编码实现、调试测试、优化发布);2) Xcode调试工具详解(断点类型、调试控制、变量查看、内存图和视图调试器);3) 常见调试技巧与问题排查方法;4) 性能优化与内存泄漏检测方法;5) Git版本控制的基本概念和常用命令。文章还提供了实践练习建议,帮助开发者掌握iOS项目开发的关键技能。

2025-08-03 09:05:41 916

原创 30天学会OC-28:Objective-C与Swift混编

iOS开发中,Objective-C与Swift混编是一项实用技能,允许开发者在项目中同时使用两种语言。混编的主要方法包括:1)在Objective-C项目中添加@objc标记的Swift类,通过自动生成的YourProject-Swift.h头文件调用;2)在Swift项目中通过桥接头文件YourProject-Bridging-Header.h导入Objective-C类。需要注意命名转换、可选类型处理等兼容性问题,并确保正确配置编译设置。混编技术为项目迁移和团队协作提供了灵活性,使开发者能充分利用两种

2025-08-03 09:04:39 1153 1

原创 30天学会OC-27:Swift语言基础

Swift基础语法摘要 Swift是Apple开发的现代化编程语言,具有安全、高性能和易读易写的特点。主要语法包括: 变量与常量:let声明常量,var声明变量,支持类型推断 数据类型:包含Int、Double、Bool、String等基本类型,以及Array、Dictionary、Set等集合类型 运算符:基础算术运算符、逻辑运算符,特有区间运算符和空合运算符 控制流:if/else条件语句、switch-case模式匹配,以及for-in/while循环 函数与闭包:使用func定义函数,闭包作为匿名代

2025-08-03 09:03:56 303

原创 30天学会OC-26:SwiftUI基础

本文介绍了SwiftUI框架的基本概念和核心功能。SwiftUI是Apple推出的声明式UI框架,通过组合视图构建界面,支持自动响应数据变化。主要内容包括:1) 基本视图创建和常用控件(文本、图片、按钮等);2) 布局容器(VStack/HStack/ZStack)的使用;3) 数据流管理(@State、@Binding和@ObservableObject);4) 视图修饰符的运用。文章通过代码示例演示了SwiftUI的声明式语法特性,适合作为现代iOS开发的入门指南。

2025-08-03 09:03:08 473

原创 30天学会OC-25:Widget与App Extension

iOS App Extension开发指南摘要: 本文介绍了iOS App Extension的基本概念和开发方法,重点讲解了Today Widget(小组件)的实现。App Extension允许应用功能扩展到系统不同区域(如通知中心、分享菜单等),具有独立运行、受限环境等特点。常见类型包括Today Widget、Share Extension等。文章详细演示了Today Widget的创建流程、UI设计、数据加载和交互逻辑,包括如何通过App Group共享数据,以及使用URL Scheme与主应用通

2025-08-03 09:02:20 403

原创 30天学会OC-24:推送通知

本文介绍了iOS推送通知的实现方法,包括本地通知和远程通知。主要内容为:1)使用UNUserNotificationCenter框架发送本地通知的完整流程,包括请求权限、创建通知内容、设置触发器、发送通知等;2)如何处理通知交互,包括应用在前台接收通知和用户点击通知时的回调处理。文章提供了详细的Objective-C代码示例,涵盖了基本通知、带附件的通知以及定时、日历、位置等多种触发方式。适合iOS开发者学习如何在自己的应用中实现推送通知功能。

2025-08-03 09:01:38 666

原创 30天学会OC-23:定位与地图

iOS定位与地图开发摘要:本文介绍了iOS中定位和地图功能的核心框架Core Location和MapKit的使用方法。主要内容包括:1)通过CLLocationManager获取用户位置,处理不同定位权限(使用期间/始终);2)在Info.plist配置定位权限描述;3)实现CLLocationManagerDelegate回调处理位置更新和权限变更;4)集成地图显示功能。文章提供了完整的Objective-C示例代码,展示如何请求定位权限、获取当前位置并更新UI显示,适用于需要实现定位服务的iOS应用开

2025-08-03 09:00:58 384

原创 30天学会OC-22:相机与相册

本文介绍了如何在iOS应用中使用UIImagePickerController访问设备相机和相册。主要内容包括:1)UIImagePickerController的基本功能,如选择媒体类型(图片/视频)和来源(相册/相机);2)关键属性设置,包括sourceType、mediaTypes和allowsEditing;3)代理协议UIImagePickerControllerDelegate的使用方法,处理选择结果和取消操作;4)提供代码示例展示如何从相册选择图片和使用相机拍照。文章还提到需要检查设备功能可用

2025-08-03 09:00:12 379

2020iOS最新苹果登录OC版本demo

2020iOS最新苹果登录OC版本demo,根据多个资料总结出方法并且封装成类,可以直接使用,大家放心下载

2020-10-27

2020最新淘宝淘客SDK,阿里百川最新接入资料

2020最新淘宝淘客SDK,阿里百川最新接入资料,加上自己总结出来的方法,可以直接转跳到淘宝购买商品

2020-10-27

2020最新京东券商SDK和接入文档资料

2020最新京东券商SDK和接入文档资料,内附转跳方法,京东联盟接入,其中主要接入库文档需要修改才行,增加lib库才可以编译通过。

2020-10-27

iOS 仿京东淘宝商品详情tableView上滑和headerView之间的滑动效果

iOS 仿京东淘宝商品详情tableView上滑和headerView之间的滑动效果,滑动详情图缩小,下拉拉长,仿京东效果,headerview滚动图可以点击

2020-11-20

空空如也

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

TA关注的人

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