iOS开发面试–SDWebImage原理

iOS开发面试–SDWebImage原理
一、 SDWebImage原理 一个为UIImageView提供一个分类来支持远程服务器图片加载的库。 功能简介: 1、一个添加了web图片加载和缓存管理的UIImageView分类 2、一个异步图片下载器 3、一个异步的内存加磁盘综合存储图片并且自动处理过期图片 4、支持动态gif图 5、支持webP格式的图片 6、后台图片解压处理 7、确保同样的图片url不会下载多次 8...

OC对象的本质

OC对象的本质
Objective-C的本质 我们平时编写的Objective-C代码,底层实现其实都是C\C++代码 所以Objective-C的面向对象都是基于C\C++的数据结构实现的Objective-C的对象、类主要是基于C\C++的结构体实现的将Objective-C代码转换为C\C++代码 xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc OC源文件 -o输出的cpp文件,(PS: 模拟器(i386)、32bit(armv7)、64bit(arm64)) 一个OC对象在内存中的布局 ...

iOS图片内存优化

iOS图片内存优化
基于现在iOS11新生成的图片都是HEIF,该图片使用UIImage(named: name)已不在那么优雅,图片大小为1.8m大小的,读进手机内存,直接飙升了45M,这是我们不想看到的结果,一个页面有多个这样子的图的话,恐怕就是灾难了。 既然原图不能读入,那么如何可以用更少的内存和CPU来解决呢? 这就要先了解该图片的编码了。 HEIC HEIF 带有元数据的HEIF的另一种形式。HEIC文件包含一个或多个以“高效图像格...

弱符号实现 iOS 组件化解耦

弱符号实现 iOS 组件化解耦
强弱符号简述 函数和全局变量编译后需要有唯一的符号名,在链接时才不会混淆。程序员所写代码中的变量名会经过修饰后作为符号名,比如 C 中fun会被修饰为_fun。而符号分为弱符号与强符号,对于 C/C++ 来说,编译器默认函数和已初始化的全局变量为强符号,未初始化的全局变量为弱符号,可以使用__attribute__ ((weak))定义一个弱符号,编译器决议符号时有如下规则: 不允许强符号被多次定义。多个符...

iOS 多线程面试题(死锁)

iOS 多线程面试题(死锁)
死锁就是队列引起的循环等待 1、一个比较常见的死锁例子:主队列同步 - (void)viewDidLoad { [super viewDidLoad] ; dispatch_sync(dispatch_get_main_queue(), ^{ NSLog(@"deallock"); }); // Do any additional setup after loading the view, typically from a nib. }复制代码 在主线程中运用主队列同步,也就是把任务放到了主线程的队列中。 同步对于任务是...

iOS 后台播放静音文件 延迟APP的存活

iOS 后台播放静音文件 延迟APP的存活
创建 AudioManager.swift import Foundation import AVFoundation import UIKit class AudioManager: NSObject { static let shared = AudioManager() fileprivate let audioSession = AVAudioSession.sharedInstance() fileprivate var backgroundAudioPlayer: AVAudioPlayer? fileprivate var backgroundTimeLength = 0 fileprivate var timer: Timer? // 是否开启后台自...

swift 中的UILabel属性用法及介绍

swift 中的UILabel属性用法及介绍
1.创建 letlabel =UILabel(frame:CGRect(x:30,y:100,width:200,height:40)) view.addSubview(label) 2.设置背景颜色 label.backgroundColor=UIColor.cyan; 3.设置文本字 label.text="xingweixin zhamaotu " 4.设置字体颜色 label.textColor=UIColor.red 5.字体设置 设置字体样式和大小 label.font=UIFont(name:"Zapfino",size:15) 设置字体大小 label.font=UIF...

Swift中的UIImageView的简单介绍

Swift中的UIImageView的简单介绍
1、UIImageView的介绍 UIImageView 是App图层话开发的重要类。你在App中看到的那些绚丽的画面基本都和UIImageView有关系。它就是App图片展示的容器。 2、UIImageView 的属性介绍和方法 1、初始化 /** UIImageView 的初始化 */ var NetWorkImageView = UIImageView.init() NetWorkImageView = UIImageView.init(frame: self.view.frame) NetWorkImageView = UIImageView.init(image: UIImage...

使用 SwiftUI 变成一个简单的app

使用 SwiftUI 变成一个简单的app
在 WWDC 大会开始一个星期以来,大家纷纷为今年的 SwiftUI 、昏暗模式、可更新的 CoreML 模型兴奋不已。在接下来的一周,我将会逐一介绍这些新玩意。首先从 SwiftUI 开始吧。SwiftUI 是苹果大家族中用来构造 APP 的全新方法。 SwiftUI 是一个声明式的基于组件的框架。你需要完全忘记曾经的 MVC 概念——在这种模型中,每个视图和模型之间都必须有一个控制器。在 SwiftUI 中只有状态的概念,同时视图继承...
Copyright © ios教程,苹果粉丝,苹果资讯,ios入门教程,ios学习,ios程序员,ios视频教程,ios粉丝网 保留所有权利.   Theme  Ality

用户登录