随笔分类 - iOS开发
iOS开发- tableView的协议
摘要:在使用 UITableView 时,必须实现的协议主要包括以下几个 1. UITableViewDataSource 协议 这是最重要的协议,用于提供数据给 UITableView。没有这个协议,UITableView 是无法显示任何内容的。 必须实现的方法: tableView:numberOfR
iOS开发框架--QMUIKit
摘要:深入解析 QMUIKIT:高效的 iOS UI 组件库 QMUIKIT(QMUI)是一个专为 iOS 开发者设计的开源 UI 组件库,旨在提升开发效率与用户体验。本文将从如何简单使用 QMUI、底层原理、核心组件的实现细节,以及一些最佳实践等方面进行深入探讨。 1. 简单使用 QMUI 1.1 安装
iOS开发-MVP架构模式
摘要:深入理解MVP模式 在软件开发中,尤其是在创建复杂用户界面时,如何有效地组织代码是一个重要的课题。MVP(Model-View-Presenter)模式作为MVC模式的演进版本,旨在提高应用程序的响应性和可测试性。本文将详细探讨MVP模式的组成部分、底层原理以及如何在实际项目中应用它。 什么是MVP
iOS开发-MVC
摘要:在现代软件开发中,尤其是用户界面(UI)密集的应用程序,如何有效地组织代码是一个至关重要的问题。MVC(Model-View-Controller)模式应运而生,成为许多开发者的首选架构。本文将详细探讨MVC模式的组成部分、底层原理以及如何在实际项目中应用它。 什么是MVC模式? MVC是一种软件设
iOS开发框架--AFNetwork
摘要:AFNetworking 是一个强大的网络库,专为 iOS 和 macOS 开发而设计,旨在简化网络请求和响应处理。它基于 NSURLSession 提供了一套简洁易用的 API,广泛用于处理网络通信。以下是 AFNetworking 的详细介绍,包括其主要功能、使用方法和架构。 主要功能 简化的网
iOS开发框架--SDWebImage
摘要:SDWebImage 是一个功能强大的库,用于在 iOS 和 macOS 应用中异步下载和缓存图像。它提供了简单易用的接口,帮助开发者高效地处理网络图片。以下是 SDWebImage 的详细介绍,包括其主要功能、使用方法和架构。 主要功能 异步下载:SDWebImage 在后台线程中下载图片,避免阻
iOS开发框架--MyLayout
摘要:MyLayout 框架不仅支持 Objective-C,也可以在 Swift 中使用。通过 MyLayout,可以使用面向对象的方式来创建和管理视图的布局,简化了 Auto Layout 中繁琐的约束设置流程。在 Objective-C 中,MyLayout 提供了相同的布局类型和属性,使用方式稍有
iOS开发-属性的内存管理
摘要:Objective-C中,类的实例变量(instance variables)和属性(properties)是两种不同的概念,其中属性的内存管理就较为复杂。Objective-C 提供了多种属性修饰符,用于管理对象的内存。这些修饰符用于控制对象的生命周期和内存管理行为。 以下是一些常见的属性修饰符及
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
iOS面试题-tableivew上面展示图片的时候,在网络还未回来时,将cell滑走,那被划走的cell还会不会显示图片?
摘要:当在UITableViewCell中加载网络图片时,如果在图片下载完成之前用户滑动了UITableView,使得对应的UITableViewCell已经滑出屏幕,那么这个被滑走的UITableViewCell是否还会显示图片,取决于如何处理图片的加载和UITableViewCell的重用。 UITa
iOS开发-UITableView的重用机制
摘要:UITableView的重用机制避免了频繁创建和销毁单元格的开销,使得在显示大量数据时,保持流畅的用户体验和较低的资源消耗。。 当UITableView滚动时,屏幕上移出视图的单元格会被回收到一个重用池中。当需要显示新的单元格时,UITableView会首先检查重用池中是否有可用的单元格。如果有,就
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开发-手势
摘要:UIGestureRecognizer 用于检测和处理手势的抽象基类。提供了检测用户手势的基本功能,如点按、滑动、捏合、旋转等。通过使用 UIGestureRecognizer 子类,可以为视图添加手势识别功能,增强用户交互体验。 常见的 UIGestureRecognizer 子类 一些常见的手势
iOS开发-图片UIImage
摘要:UIImage 和 UIImageView 是 iOS 开发中常用的两个类,分别用于表示图像数据和显示图像。 UIImage UIImage 是一个表示图像数据的类,可以从文件、数据、图像资源库等加载图像。UIImage 支持多种图像格式,包括 PNG、JPEG、GIF 等。 创建 UIImage