iOS开发-MVC
在现代软件开发中,尤其是用户界面(UI)密集的应用程序,如何有效地组织代码是一个至关重要的问题。MVC(Model-View-Controller)模式应运而生,成为许多开发者的首选架构。本文将详细探讨MVC模式的组成部分、底层原理以及如何在实际项目中应用它。
什么是MVC模式?
MVC是一种软件设计模式,它将应用程序分为三个核心部分 ...
iOS开发框架--AFNetwork
AFNetworking 是一个强大的网络库,专为 iOS 和 macOS 开发而设计,旨在简化网络请求和响应处理。它基于 NSURLSession 提供了一套简洁易用的 API,广泛用于处理网络通信。以下是 AFNetworking 的详细介绍,包括其主要功能、使用方法和架构。
主要功能
简化的网络请求:提供了简单的接口来发送 GET、POST、PUT、DELETE 等 ...
iOS开发框架--SDWebImage
SDWebImage 是一个功能强大的库,用于在 iOS 和 macOS 应用中异步下载和缓存图像。它提供了简单易用的接口,帮助开发者高效地处理网络图片。以下是 SDWebImage 的详细介绍,包括其主要功能、使用方法和架构。
主要功能
异步下载:SDWebImage 在后台线程中下载图片,避免阻塞主线程,保持用户界面流畅。
缓存机制:
内 ...
iOS开发框架--MyLayout
MyLayout 框架不仅支持 Objective-C,也可以在 Swift 中使用。通过 MyLayout,可以使用面向对象的方式来创建和管理视图的布局,简化了 Auto Layout 中繁琐的约束设置流程。在 Objective-C 中,MyLayout 提供了相同的布局类型和属性,使用方式稍有不同,主要是语法和调用方式上的差异。
先介绍一下如何使用吧,线性布局和相 ...
Objective-C (OC) 中 不推荐 使用 true 和 false 分析
背景: 写多混编语言 把swift 习惯带入到了OC 就比如这个布尔值的写法
前言:虽然 true 和 YES 实际上等效为 1,但为了代码的一致性和可读性,最好在 Objective-C 中用 YES 和 NO
1. 类型不同
YES 和 NO 是 Objective-C 的 BOOL 类型,它本质上是一个 signed char,YES 等于 1,NO 等于 0。
...
解析Objective-C 中 `+load` 方法的执行顺序
目录理解 Objective-C 中 +load 方法的执行顺序+load 方法的基本介绍类和子类中的执行顺序分类中的执行顺序父类分类的执行顺序理解 Objective-C 中 +load 方法的执行顺序
在 Objective-C 中,+load 方法是在类或分类被加载到内存时调用的。它在程序启动过程中非常早的阶段执行,用于在类或分类被加载时进行一些初始化工作。 ...
Objective-C 自定义渐变色Slider的实现方法
目录一、前情概要二、具体实现一、前情概要
系统提供UISlider,但在开发过程中经常需要自定义,本次需求内容是实现一个拥有渐变色的滑动条,且渐变色随着手指touch的位置不同改变区域,类似如下
可以使用CAGradientLayer实现渐变效果,但是发现手指滑动的快时会有不跟手的情况。我们可以重写左侧有渐变色的UIView的drawRec ...
iOS 实现类似抖音滚动效果
目录效果图思路代码效果图
思路
整体上我们使用tableView实现,为了预留内容的缓冲,我们将tableView 的contentinset设置为上面一个屏幕的高度,下面一个屏幕的高度,左右为0,这样保证我们滚动过去的时候都是准备好的内容然后就是滑动效果的实现了,主要就是我们在scrollViewWillEndDragging方法中获取到停止拖动(手指离 ...
在SpringBoot中实现适配器模式的两种方式
目录1. 场景2. 方式1,通过实现类定义类型字段实现2.1 创建接口2.2 创建mysql实现类2.3 创建oracle实现类2.4 创建接口,在接口中注入service集合,根据每个实现类中定义的dbType进行匹配后进行调用2.5 测试,浏览器输入3. 方式2,以动态service名称的方式实现3.1 创建接口3.2 创建创建mysql实现类,定义实现类名称为mysqlDbS ...
SpringBoot3.0集成Redis缓存的实现示例
目录一、什么是redis缓存二、SpringBoot3 如何集成 Redis三、spring-boot-starter-cache 结合 Redis 使用1、什么是 spring-boot-starter-cache2、Redis 集成步骤3、使用示例参考一、什么是redis缓存
Redis缓存是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的AP ...
Objective-C方法的声明实现及调用方法
目录1.无参数的方法1)声明2)实现3)调用2.单个参数的方法1)声明2)实现3)调用3.多个参数的方法1)声明2)实现3)调用Objective-C中的“description“方法1.无参数的方法
1)声明
a.位置:在@interface括弧的外面
b.语法:
- (返回值类型)方法名称;
@interface Person : NSObject
-(void) run;
@end
2)实现
a.位置:在@i ...
Spring中BeanFactory与FactoryBean的区别解读
目录一、什么是 BeanFactory二、什么是 FactoryBean三、BeanFactory与FactoryBean有什么区别一、什么是 BeanFactory
Java的BeanFactory是Spring框架中的一个接口,它是用来管理和创建对象的工厂接口。
在Spring中,我们可以定义多个BeanFactory来管理不同的组件,每个BeanFactory都有自己的配置信息和对象实例化 ...
swift中获取字符串前缀的七种方法总结
目录1. 使用 hasPrefix(_ 方法2. prefix 函数获取前缀子字符串3. prefix(upTo 函数获取前缀子字符串4. 使用字符串区间索引5. 使用条件获取6. 使用 firstIndex/lastIndex7. 使用 prefix(through 函数我们以为 "Hello World" 这个字符串为例,判断是否以 Hello 开头。
1. 使用 hasPrefix(_ 方法
可以使用字符串的&n ...
iOS Xcode升级Xcode15报错SDK does not contain 'libarclite'
目录iOS Xcode 升级Xcode15报错: 缺少文件libarclite查看报错代码如果是真机调试运行会出现iPhone.a文件丢失iOS Xcode 升级Xcode15报错: 缺少文件libarclite
查看报错代码
SDK does not contain 'libarclite' at the path'/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr ...
Ios苹果app应用程序开发者如何获取IPA签名证书详解
目录引言一、了解签名证书的作用二、步骤指南三、注意事项引言
今天和大家介绍介绍苹果App开发者如何获取IPA文件签名证书的步骤和注意事项。对于苹果应用程序开发者而言,获取IPA文件签名证书是发布应用程序至App Store的重要步骤之一。签名证书能够确保应用程序的安全性和可信度,并使其能够在设备上正确运行。
一、了解签 ...
iOS开发Masonry与Frame布局差异示例详解
目录 iOS开发Masonry与Frame布局差异示例结果 iOS开发Masonry与Frame布局差异
示例
#import "ViewController.h"
#import <Masonry/Masonry.h>
@interface ViewController ()
@property (nonatomic, strong)UIView *view1;
@property (nonatomic, strong)UIView *view2;
@property (nonatomic, strong)UIView *vie ...
iOS overFullScreen与fullScreen区别分析
目录overFullScreen与fullScreen区别overFullScreenfullScreen总结overFullScreen与fullScreen区别
overFullScreen
The views beneath the presented content are not removed from the view hierarchy when the presentation finishes. So if the presented view controller does not fill the screen with opaque c ...
iOS关键字static extern const使用示例详解
目录全局变量externstatic - 静态全局变量全局变量和静态变量区别(摘抄)const局部变量static - 静态局部变量全局变量
在函数外声明的变量,可以在声明时附上初始值,存储在全局区,生命周期为整个程序运行期间。
#import "SEObject.h"
//定义在.h文件中时该类被其他文件引入时报重复定义的错误(1 duplicate symbol for a ...
iOS报Multiple commands produceMultiple错误的解决方案
报错
今天在运行一个RN老项目的时候,报了一个下面的错误。
对应的信息如下:
Multiple commands produce '/Users/xzh/RN/work/cgv_app/ios/build/Debug-iphonesimulator/cgv_app.app/Entypo.ttf'
Multiple commands produce '/Users/xzh/RN/work/cgv_app/ios/build/Debug-iphonesimulator/cgv_app.app/EvilIcons.ttf'
对 ...
详解如何在SwiftUI中创建悬浮操作按钮
目录前言创建悬浮操作按钮悬浮按钮出现在屏幕的最前方悬浮按钮位于屏幕的右下角使悬浮按钮呈现圆形添加阴影总结前言
悬浮操作按钮(Floating Action Button, FAB)是一种在 Android 和 Material Design 中使用的 UI 元素。它用于触发特定屏幕的主要操作。
尽管它来自 Android,但在一些 iOS 应用中也可以看到这种模式。
以 ...