07 2024 档案
iOS开发- RunLoop
摘要:RunLoop用于管理事件的循环处理机制。运行循环在应用程序的主线程中自动启动,负责监听和分发各种事件,包括用户交互(如触摸事件)、定时器事件、选择器调用和其他异步回调。 运行循环的作用 运行循环的主要作用包括: 处理输入事件:运行循环监听用户的输入,如触摸、点击和滑动事件,并将它们分发到适当的处理
iOS开发- reloadData方法介绍
摘要:在实际开发中,经常需要对tableView或者collectionView执行更新数据源的操作,reloadData是一个常见的方法。这是 UITableView 和 UICollectionView 提供的一个方法,用于重新加载视图的所有可见行(或项)。 当调用 reloadData 方法时,UI
iOS开发-多线程编程
摘要:OC中常用的多线程编程技术: 1. NSThread NSThread是Objective-C中最基本的线程抽象,它允许程序员直接管理线程的生命周期。 NSThread *myThread = [[NSThread alloc] initWithTarget:self selector:@selec
iOS面试题-load 和 initlize的区别
摘要:+load和+initialize是两个与类的加载和初始化相关的特殊方法。它们在类的生命周期中的作用和调用时机有明显的区别。 +load 方法 调用时机:+load在类初始加载进内存时调用,这通常发生在程序启动的时候,所有类和分类(Category)的+load方法在应用程序的生命周期中只会被调用一
iOS开发- Xcode常用的快捷键
摘要:以下是一些常用的 Xcode 快捷键: 构建和运行: Command + B: 构建当前项目。 Command + R: 构建并运行当前项目。 Command + .: 停止运行项目。 代码编辑: Command + ] / Command + [: 增加或减少当前行或选中代码的缩进。 Contro
golang-切片slice的基本介绍
摘要:Go语言中的切片(slice)基础 引子 在Go语言中,数组的长度是固定的,且数组长度属于类型的一部分。这种特性限制了数组的灵活性,无法动态扩容,对复杂情况难以适用。 切片的定义 切片(Slice)是一个拥有相同类型元素的可变长度的序列。它基于数组类型进行了封装,具有很大的灵活性,支持自动扩容。切片
golang-数组基本使用
摘要:Go语言中的数组是一个固定长度的元素序列,这些元素都是相同的类型。数组是值类型,这意味着当它们被赋值给新的变量时,会进行一次数组的复制。 创建数组 通过指定元素类型和数组长度来创建数组。数组长度必须是一个常量表达式,因为数组的长度是其类型的一部分。 数组的数量一旦确定就不能更改了,就是说大小不可变
iOS面试题-tableivew上面展示图片的时候,在网络还未回来时,将cell滑走,那被划走的cell还会不会显示图片?
摘要:当在UITableViewCell中加载网络图片时,如果在图片下载完成之前用户滑动了UITableView,使得对应的UITableViewCell已经滑出屏幕,那么这个被滑走的UITableViewCell是否还会显示图片,取决于如何处理图片的加载和UITableViewCell的重用。 UITa
iOS开发-UITableView的重用机制
摘要:UITableView的重用机制避免了频繁创建和销毁单元格的开销,使得在显示大量数据时,保持流畅的用户体验和较低的资源消耗。。 当UITableView滚动时,屏幕上移出视图的单元格会被回收到一个重用池中。当需要显示新的单元格时,UITableView会首先检查重用池中是否有可用的单元格。如果有,就
git-远程仓库
摘要:1. 添加远程仓库 使用git remote add命令将一个远程仓库添加到本地仓库中。 git remote add <name> <url> 例如: git remote add origin https://github.com/username/repository.git 2. 查看远程仓
OC-从内存角度理解block可作为方法传入参数的原因
摘要:从内存管理的角度来看,block可以作为方法的传入参数是因为block在Objective-C中被设计为一种特殊的对象,它们可以在堆(heap)上分配和管理。这使得block可以像其他对象一样被传递、复制和持有。以下是一些关键点,解释为什么block可以作为方法的传入参数: 1. Block的类型和
OC-NSArray的基本介绍
摘要:NSArray 是不可变的;存储不同类型的对象。这意味着一个NSArray可以同时包含NSString、NSNumber、NSDictionary等不同类型的对象。同时只能存储对象,不能直接存储基本数据类型(如 int、float 等)。如果需要存储基本数据类型,应该先将它们封装为相应的对象类型(如
iOS开发-WKWebView的介绍与基本使用
摘要:WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iOS 8 中引入的,作为 UIWebView 的替代品。WKWebView 提供了更高的性能和更多的功能,它是基于 WebKit 引擎的,这也是 Safari 浏览器所使用的引擎。 主要特性 性能提升:相比于老旧的 UIWebV
iOS开发中,whistle的安装使用及模拟器代理配置
摘要:Whistle是一个基于Node.js的跨平台web调试工具,它可以用于拦截和修改HTTP(S)请求和响应,实现网络请求的代理和抓包。具体的安装方式已经在参考文档写得很清楚了,我在这里记录一下我碰见的一些问题。 由于在一些Mac电脑上,系统偏好设置变成了系统设置,那么参考文档里通过系统偏好设置的方法
iOS开发-手势
摘要:UIGestureRecognizer 用于检测和处理手势的抽象基类。提供了检测用户手势的基本功能,如点按、滑动、捏合、旋转等。通过使用 UIGestureRecognizer 子类,可以为视图添加手势识别功能,增强用户交互体验。 常见的 UIGestureRecognizer 子类 一些常见的手势
iOS开发-图片UIImage
摘要:UIImage 和 UIImageView 是 iOS 开发中常用的两个类,分别用于表示图像数据和显示图像。 UIImage UIImage 是一个表示图像数据的类,可以从文件、数据、图像资源库等加载图像。UIImage 支持多种图像格式,包括 PNG、JPEG、GIF 等。 创建 UIImage
iOS开发-UIButton
摘要:UIButton用于创建可交互的按钮。按钮可以响应用户的触摸事件,执行特定的动作或逻辑。 创建和配置UIButton 创建UIButton的基本步骤: // 创建UIButton实例,指定按钮类型为系统类型 UIButton *button = [UIButton buttonWithType:UI
iOS开发- UILabel的基本介绍与使用
摘要:在Objective-C进行iOS开发中,UILabel是一个非常基础且常用的UI组件,用于在应用界面上显示一段静态文本。UILabel属于UIKit框架的一部分,提供了丰富的属性来控制文本的显示方式,包括文本内容、字体、颜色、对齐方式、行数等。 创建和配置UILabel 创建一个UILabel实例
iOS开发-列表视图的基本介绍与使用
摘要:在iOS开发中,UITableView和UICollectionView是两个非常核心的用于展示集合数据的UI组件。它们都能以列表的形式展示数据,但各自的特点和使用场景有所不同。 UITableView UITableView用于展示和管理垂直滚动的单列数据列表。它是以行的形式展示数据,每行(cel