自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 Swift学习笔记30-数据库SQlite语句

创建一个名为ID的主键,数据类型是INTEGER CREATE IF NOT EXISTS chat (ID INTEGER PRIMARY KEY AUTOINCREMENT, chatID INTEGER, content TEXT, target TEXT, mineHead TEXT, otherHead TEXT )使用 INNER JOIN,当一张表中的数据等于另一张表时,将需要用的数据从其中一张表里SELECT出来,通过”表名.表的列“方式来定位数据。

2026-05-20 22:04:59 71

原创 Swift学习笔记29-数据库SQlite

本文介绍了在iOS应用中使用SQLite数据库存储消息的方法,包括两种实现方式:系统自带的SQLite库和第三方库FMDB。主要内容包括: 数据库配置 系统SQLite库的导入和桥接头文件设置 使用CocoaPods集成FMDB库 数据库管理实现 创建DataBaseManager结构体管理数据库 采用单例模式初始化数据库 在文档目录创建数据库文件 数据表操作 创建chat表并定义字段类型 实现数据插入功能 使用ChatTextModel作为参数传递数据 注意事项 建议1.0版本避免使用数据库

2026-05-19 05:05:50 403

原创 Swift学习笔记28-缓存

本文介绍了使用UserDefaults存储小型数据的方法,重点以聊天记录存储为例。UserDefaults适合存储基础数据类型(字典、数组、字符串等),但不适合存储超过2MB的数据或高级数据类型。实现步骤包括:1)将Model转换为字典形式存储;2)从字典还原为Model;3)根据chatID存取数据。具体通过四个方法实现:save()存储消息、toDic()转换Model为字典、toChatModel()从字典还原Model、getAllMsg()加载聊天记录。

2026-05-18 03:14:06 385

原创 Swift/UIkit学习笔记27-模块管理,发送位置信息

摘要: 本文介绍了iOS开发中基于MVC架构的模块划分,重点讲解了定位功能的实现流程。系统分为Model、View、ViewController和Public四个模块,采用Block传递界面事件。具体实现包括:在聊天页面获取定位权限,创建地图消息Cell(含小地图和地址信息),以及开发地图页面(集成高德地图SDK)。关键步骤涉及CLLocationManager权限管理、逆向地理编码和位置信息传递,最终实现点击发送按钮分享定位的功能。

2026-05-17 03:38:04 369

原创 Swift报错合集(Xcode编译器)

试图在一个实例上访问一个静态属性或方法。静态成员(static member)是与类本身关联的,而不是与类的具体实例(对象)关联。你只能通过类名来访问它们,而不能通过类的实例。编译器在处理某段代码时遇到了复杂性,导致它耗费了过多的时间来进行类型检查。具体来说,它建议你将复杂的表达式拆分成更简单的部分,以便编译器能更容易理解和处理。这是因为系统的安全沙盒(Sandbox)阻止了脚本在指定的目录下创建或写入文件。野指针,检查返回的东西是否有来源。大小写是否输入正确。这个是我不小心把函数写在另一个函数里了。

2026-05-15 17:48:31 442

原创 Swift学习笔记26-使用第三方库

本文介绍了iOS项目中集成高德地图SDK的完整流程。首先通过CocoaPods安装SDK并配置HTTPS访问权限,创建桥接头文件引入相关库。详细说明了Swift项目中调用OC代码的方法,包括Key配置和地图视图创建。针对常见的Sandbox权限问题,提供了通过修改Xcode的UserScriptSandboxing设置项的解决方案。最后展示了如何实现地图页面的跳转功能,为开发者提供了从SDK集成到实际应用的全流程指导。

2026-05-14 04:21:25 270

原创 UIKit学习笔记8-发送照片、拍摄照片并发送

现在要写这个部分,新开一页去放。思路是利用for…in来逐个打印组件设置两个数组,分别储存图片字符串和对应的文本字符串记得数组取名要取复数,表示里面不止一个元素只做这三个:照片、拍摄、位置。然后再setupUI()函数里设置图片按钮和文字标签,并为其添加事件使用for…in来逐个打印组件按钮文本使用回调,把索引以tag传出去。写一个函数,控制闭包被传出?在ChatViewController页面写一个,这是创建界面实例,并控制点击对应按钮,然后操作相关功能的。把相关绑定到点击按钮MoreVie

2026-05-14 04:16:12 368

原创 UIKit学习笔记7-录音并发送语音

本文介绍了使用UIKit实现类似微信语音发送功能的关键步骤。主要内容包括: 界面实现:创建语音按钮和录音按钮,设置按钮样式和状态切换逻辑 输入模式切换:通过布尔值控制键盘输入和语音输入的显示状态 权限处理:请求麦克风使用权限并处理授权状态 录音功能:使用AVAudioRecorder实现录音功能,包括开始录音、结束录音和取消录音 交互优化:处理滚动视图时自动收起键盘 关键代码展示了按钮创建、状态切换、权限请求和录音环境初始化等核心功能实现。文章还提到后续需要实现的录音存储、消息发送和播放功能。

2026-05-10 18:24:51 365

原创 UIKit学习笔记6-调用键盘、配置聊天输入栏

不同的字段表表示执行不同的操作的时候会发通知,发通知之后,执行某某操作(函数)。要为键盘的范围留出位置,所以我们在滚动视图原来的y(64)的基础上,往上顶一个键盘的高度。要实现的功能是让输入框随着键盘调用被顶到上方,所以这个函数要【计算键盘的高度】并实现重新设置**方法表示要取消当前文本框的第一响应者状态,取消了之后,文本框失去焦点,键盘就会被收回。定义下一条信息,表示它是ChatModel数组中的某个成员,用于设置下一条信息的头像等。输入框的位置,同样也是要在原来的y的基础上,往上顶一个键盘的高度。

2026-05-04 14:53:38 377

原创 UIKit学习笔记5-使用UITableView制作聊天页面

这篇文章介绍了使用UITableView制作聊天页面的思路和实现方法。主要内容包括: 采用MVC架构设计,分为Model、View和Controller三部分: Model负责存储聊天数据(头像、昵称、时间、内容等) View处理界面显示(自定义UITableViewCell) Controller管理逻辑和数据交互 关键技术点: 动态计算Cell高度和内容布局

2026-05-02 15:15:32 432

原创 UIKit学习笔记4-使用UITableView制作滚动视图

本文介绍了UITableView的使用方法,重点说明了如何通过继承UITableViewCell创建自定义单元格,以及如何配置UITableView的数据源和代理。文章详细讲解了三个关键函数:设置行数(numberOfRowsInSection)、配置单元格和设置行高。同时还介绍了如何创建滚动视图并设置其属性,以及如何定义单元格的UI组件和布局。通过使用Model渲染组件和复用单元格的方式,可以有效解决组件重复导致的内存问题。

2026-04-30 10:21:33 401

原创 UIKit学习笔记3-布局、滚动视图、隐藏或显示视图

文章摘要:本文介绍了自适应布局的实现方法,核心思路是利用父视图的frame控制子视图位置。通过获取视图宽度和高度实现多机型适配。布局要点包括:1)背景图设置使用.zero原点;2)按钮位置计算采用动态x/y值;3)组件间距使用标准UI值(16/24/8/4等);4)滚动视图尺寸实时计算内容高度;5)通过索引控制特定组件显示/隐藏。特别说明了箭头等右侧组件的定位方法:从屏幕宽度反向计算位置。

2026-04-29 08:15:48 165

原创 UIKit学习笔记2-组件嵌套、滚动视图等

本文介绍了iOS开发中三个关键功能的实现方法:1. 十六进制颜色转UIColor扩展,通过位运算实现颜色转换;2. 组件嵌套功能,通过创建自定义UIControl子类、数据模型和循环布局实现可复用组件;3. 滚动视图实现,使用UIScrollView解决内容超出屏幕的问题。文章详细讲解了每个功能的实现步骤,包括颜色转换算法、组件拆分思路、模型设计、布局计算和滚动视图配置,为iOS界面开发提供了实用的技术方案。

2026-04-28 01:33:40 395

原创 UIKit学习笔记1-创建项目(使用UIKit)、使用组件

/ 在这里说明:1.指定类型,代表具有系统预设的样式,比如文字颜色和字体,会根据用户的操作(比如按下或释放)改变外观,通常会有轻微的高亮效果。2.通过setTitle设置UIButton的属性: 这是要设置为按钮标题的字符串。: 这里的for参数指定了按钮的状态。.normal表示按钮的普通状态。按钮有多种状态,比如:.normal: 按钮处于默认状态,未被按下,也未被禁用。: 按钮被按下、点击时的状态。.disabled: 按钮被禁用,不可点击。.selected: 按钮在被选择状态。

2026-04-26 21:44:34 380

原创 SwiftUI学习笔记5-列表和文本字段

这个Button包含两个闭包,操作闭包包含命令式代码,标签闭包包含声明式视图代码。Button {} else {}//label:添加在其他闭包后面} label: {为label的Text添加内边距} label: {//为标签视图添加内边距,这将扩大整个按钮.//如果修饰符放在Button的层级,则不会对Text的内边距产生影响。

2026-04-24 03:42:44 442

原创 SwiftUI学习笔记4-按钮

aspectRatio(1, contentMode: .fit)表示如果图像的宽高比和可用空间不一致,会缩小到比较小的轴。有些 SF Symbols 是按层级组合的,包含可以呈现主色、次色和三级色的不同元素。封装性:将状态变量限制在声明的结构体或视图中,可以防止外部组件意外修改这个状态,从而更好地维护数据的一致性。明确性:使用 private 可以提高代码的可读性,指示该状态是内部使用的,不应从其他地方访问。ForEach在数量不定的时候使用,它可以规定显示多少个实例,最下面表示要显示的实例。

2026-04-23 22:34:42 370

原创 SwiftUI学习笔记3-布局和样式

左侧的Assets检查器:choosing View > Inspectors > Show Inspector.这里选择none,相同颜色应用于浅色和深色外观。然后在右边创建颜色。

2026-04-23 15:34:06 354

原创 SwiftUI学习笔记2

每个 Xcode 项目都包含一个视图。将使用一个结构来创建你自己的自定义视图如在text下设置,将会改变文本的颜色用属性来自定义视图里显示的东西,添加字符串,布尔值等属性,来控制图片的显示。

2026-04-22 18:47:45 160

原创 SwiftUI学习笔记1

概念教程(随便看看?.accentColor是蓝色(这个好像是系统的蓝色)

2026-04-22 16:58:04 335

原创 Swift学习笔记26-面向协议编程

【代码】Swift学习笔记26-面向协议编程。

2026-04-14 21:34:21 164

原创 Swift学习笔记25-函数式编程

【代码】Swift学习笔记25-函数式编程。

2026-04-13 18:13:13 27

原创 Swift学习笔记24-从OC到Swift

在Swift里创建一个OC文件,注意要在cocoa class里创建,并选择OC,默认勾选所有,就会出现两个OC文件,一个后缀为.h,一个后缀为.m。系统就会额外自动创建一个桥接头文件,名字默认为{targetName}-Bridging-Header.h。这是OC文件,名字是main.m,在OC里创建Swift文件会自动生成头文件。头文件的文件名是{targetName}-Swift.h。这是头文件:其实就是连接两种语言的文件,在这里写入一些文件。这是OC中的Swift文件,命名为Car.swift。

2026-04-13 13:19:51 204

原创 Swift学习笔记23-模式匹配

Swift学习笔记23-模式匹配

2026-04-09 12:00:05 20

原创 Swift学习笔记22-字面量

Swift学习笔记22-字面量。

2026-04-08 19:14:48 28

原创 Swift学习笔记21-内存管理

Swift学习笔记21-内存管理。

2026-04-08 15:15:45 30

原创 Swift学习笔记20-访问控制

Swift学习笔记20-访问控制。

2026-04-07 06:54:49 35

原创 Swift学习笔记19-扩展

Swift学习笔记19-扩展

2026-04-06 04:34:18 24

原创 Swift学习笔记18-高级运算符

Swift学习笔记18-高级运算符。

2026-04-05 02:51:27 26

原创 Swift学习笔记17-String与Array

Swift学习笔记17-String与Array。

2026-04-05 02:51:19 22

原创 Swift学习笔记16-泛型

Swift学习笔记16-泛型。

2026-04-04 20:32:04 19

原创 Swift学习笔记15-错误处理

Swift学习笔记15-错误处理。

2026-04-04 20:31:53 20

原创 Swift学习笔记14-协议

Swift学习笔记14-协议

2026-04-02 03:28:13 25

原创 Swift学习笔记13-可选链

Swift学习笔记13-可选链。

2026-04-02 03:28:01 27

原创 Swift学习笔记12-初始化

【代码】Swift学习笔记12-初始化。

2026-04-01 01:01:22 23

原创 Swift学习笔记11-继承

Swift学习笔记11-继承。

2026-04-01 01:01:11 32

原创 Swift学习笔记10-下标

【代码】Swift学习笔记10-下标。

2026-03-31 10:15:37 21

原创 Swift学习笔记9-方法

【代码】Swift学习笔记9-方法。

2026-03-31 10:15:21 20

原创 Swift学习笔记8-属性

Swift学习笔记8-属性。

2026-03-30 17:40:00 29

原创 Swift学习笔记7-闭包

Swift学习笔记7-闭包。

2026-03-30 17:39:42 21

原创 Swift学习笔记6-结构体和类

下面是写在其他地方的类。

2026-03-29 22:32:31 24

空空如也

空空如也

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

TA关注的人

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