自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (2)
  • 收藏
  • 关注

原创 iOS 多线程崩溃

源自:字节跳动团队感谢字节跳动团队的分享, 本文意在分享此类开发崩溃知识,如有涉及侵权,请联系我删除ARC 环境下在多线程中执行赋值代码可能会产生野指针,导致 EXC_BAD_ACCESS 崩溃。这种崩溃发生的概率很低,在开发和灰度阶段即使执行到相应代码也很难崩溃,因此容易遗漏到正式环境。在上亿级用户的 App 往往会成为 Top 问题,对指标造成影响,并且很难排查。今日头条在治理 C...

2023-01-12 11:01:38 706

原创 03. build successful 以后app并没有成功安装

最近合并代码后项目出了个奇葩的问题,先是build finished errors, 解决了这个问题以后,原以为好了。 结果一运行,提示build successful,但是手机并没有任何反应,并且Xcode上没有显示运行状态,而是运行终止了。这就很头疼,又没有报错。经过一番挣扎,发觉项目里Praoducts下并没有项目.app, 编译,运行都生成不了,百思不得奇解,在一番搜索后,没有可执行的a...

2022-03-12 08:31:47 134

原创 01. malloc: Heap corruption detected, free list is damaged at 0x2830c7fa0 *** Incorrect guard val...

测试描述项目合成了思必驰的语音项目,测试在测试的过程中发觉app置于后台一段时间后,再切换回前台,就会出现语音图标点击没有反应,然后崩溃....猜测我开始猜测会不会是由于哪里出现了死循环导致点击没有反应最后崩溃,但是又想如果死循环的话应该整个页面都是卡死的,不应该只有整个按钮点击了没有反应。。。头都想大了,还是想如何才会操作出这样的场景调试反复重复测试的描述步棸,我发觉app至于后台一段...

2022-03-08 13:10:38 629

原创 02. Xcode13.2上 Build finished with errors

如图所示,build成功了,实际上app并没有运行起来,并且有一个报错如下:image.png并没有任何多余的报错信息,让人无重下手。思去想来报错之前就合过一次代码,可能是由于合代码过程中,是工程配置或者文件引入的问题。于是找到Build Phases中->Copy Bundle Resourcesimage.png可是项目.m文件和图片资源太多了,根本...

2022-03-08 09:13:55 94

原创 iOS 底层原理

1.isa指针在Objective-C中,任何类的定义都是对象。类和类的实例(对象)没有任何本质上的区别。isa:是一个Class 类型的指针. 每个实例对象有个isa的指针,他指向对象的类,而Class里也有个isa的指针, 指向meteClass(元类)。元类保存了类方法的列表。当类方法被调用时,先会从本身查找类方法的实现,如果没有,元类会向他父类查找该方法。同时注意的是:元类(met...

2021-02-21 14:24:38 271

原创 R.Swift 的配置使用

一、配置1.在Podfile 中添加 pod 'R.swift'image.png2.在项目中添加脚本添加Run Scriptimage.png拖动调整Run Script的位置到[CP] Check Pods Manifest.lock 和 Complie Sources之间,确保先加载 R.swift, 在加载脚本Run Script,最后加载资源文件image...

2020-09-26 09:18:33 185

原创 12.RxSwift 调度者(上)

创建子线程 - self.actionBtn.rx.tap .subscribeDispatchQueue.global().async { print("请求数据") self.actionBtn.rx.tap .subscribe(onNext: { (tap) in ...

2019-08-25 20:48:01 37

原创 07.RxSwift 高阶函数(Driver)

首先我们创建一个:序列的中的序列 - string - 映射 - 序列,并且发起多次订阅,如下代码://创建序列let result = inputTF.rx.text.skip(1) .flatMap { [weak self](input) -> Observable<Any> in return (self?...

2019-08-25 16:50:44 105

原创 6.iOS13 获取不到WiFi ssid 的问题

这两天,测试机升级到iOS13beta6 版本,发现获取不到WiFi 的ssid了,之前通过CNCopyCurrentNetworkInfo 获取 ssid不好使了。通过 CNCopyCurrentNetworkInfo 一直都返回 “WANL”这到底是怎么回事呢?一通折腾以后,终于找到原因了下面着重讲一下最简单的开启定位权限方法:1. 添加CoreLocation.fra...

2019-08-16 11:50:10 105

原创 博客搬家到简书了

由于CSDN 广告比较多,界面没有简书简洁清爽,最主要的就是代码显示效果没有简书看起舒服,最终决定搬家到简书,以后都在简书更新,这里就不更新了附简书地址:https://www.jianshu.com/u/b612303f86fe...

2019-08-13 14:07:41 395

原创 06.RxSwift textFiled和textView的差异

override func viewDidLoad() { super.viewDidLoad() // 1: textFiled & textView来了 // 2: why 来两次 textFiled.rx.text.subscribe(onNext: { (text) in print("输入来了...

2019-08-13 14:02:02 53

原创 05.RxSwif 常用控件的使用

1.btn.rx.tap// 接下来我们处理性别选择 // 现在我们想象性别选择按钮的背后的逻辑 // 1 : 性别的选择 和 上面生日的选择 决定下面更新按钮 : 我们常见的必选项 // 2 : 性别的选择 是由我们的两个按钮的处理,我们没必要分开逻辑 let genderSelectOB = Variable&...

2019-08-13 13:58:32 61

原创 04.RxSwift Observable创建

Observable创建的方法1.empty()首先来一个空的序列-本来序列事件是Int类型的,这里调用emty函数 没有序列,只能complete// 首先来一个空的序列 - 本来序列事件是Int类型的,这里调用emty函数 没有序列,只能complete print("********emty********") let emtyOb = Obser...

2019-08-13 13:46:06 59

原创 03.RxSwift Timer的几种实现方式

几种常见的timer的实现方式:1.NStimerinit//1.如果没有把timer添加到RunLoop的,调用timer.fire()只会执行一次,添加RunLoop以后 就不需要再调用timer.fire()timer = Timer.init(timeInterval: 1, target: self, selector: #selector(timerFire), userI...

2019-08-13 13:43:37 56

原创 02.RxSwift - 核心逻辑源码分析

Observable 的流程// 1: 创建序列_ = Observable<String>.create { (obserber) -> Disposable in // 3:发送信号 obserber.onNext("Cooci - 框架班级") return Disposables.create() // 这个销毁不影响我们这次的解读 ...

2019-08-13 13:39:14 58

原创 01.RxSwift-初识

作为一个iOS开发人员, 当Swift遇上了RxSwift --> 函数响应式编程,在没有认识RxSwift之前,可能是一脸的懵逼,即使偶尔使用一下也是丈二的和尚莫不着头脑,胡乱使用,但是当你认识了解并深入探索以后,你会对RxSwift爱不释手,甚至忘记最初代码的写法!!!!函数响应式编程1. 函数式 :函数式编程不是一种技术,而是一种高级抽象的编程思想设计,简称FP(Func...

2019-08-13 13:31:25 76

原创 07.RxSwift textFiled和textView

RxSwift textFiled和textView1.测试代码1.测试代码override func viewDidLoad() { super.viewDidLoad() // 1: textFiled & textView来了 // 2: why 来两次 textFiled.rx.text.subscribe(onNext: ...

2019-08-11 16:44:42 1038

原创 06.RxSwif UI响应序列补充

RxSwift UI响应序列补充1.btn.rx.tap2.picker.rx.date3.switch.rx.value4.silder.rx.value5.stepper.rx.value效果图:1.btn.rx.tap // 接下来我们处理性别选择 // 现在我们想象性别选择按钮的背后的逻辑 // 1 : 性别的选择 和 上面生日的选择 决定下面更新...

2019-08-11 15:23:23 140

原创 05.RxSwift Observable创建

RxSwift Observable创建Observable创建的方法1.empty()2.just3.of4.from5.defer6.rang7.generate8.timer9.interval10.repeatElement11.error12.never总结:Observable创建的方法1.empty()首先来一个空的序列-本来序列事件是Int类型的,这里调用emty函数 没有...

2019-08-11 15:01:04 372

原创 04.RxSwift Timer补充

RxSwift Timer补充1.NStimer2.DispatchSourceTimer3.CADisplayLink4.RxSwift Timer5.优缺点总结几种常见的timer的实现方式:1.NStimerinit//1.如果没有把timer添加到RunLoop的,调用timer.fire()只会执行一次,添加RunLoop以后 就不需要再调用timer.fire()time...

2019-08-11 11:46:36 515

原创 5.iOS13初探

iOS13初探TextFIeld KVC的问题presentViewController 的问题崩溃问题DeviceToken 的问题Dark 模式适配问题iOS13测试版发布以后,老大让我赶紧也适配一下,就一番折腾,安装了ios13Btea测试版,Xcode直接添加ios13真机包,一运行,没有任何问题,网上说的TextFIeld 的KVC会崩溃,模态跳转的问题完全都不存在重点:也就是说iO...

2019-08-07 10:33:37 1082

原创 03.RxSwift 核心逻辑

RxSwift 核心逻辑核心逻辑思维核心逻辑思维Observable ->遵循ObservableType协议, ObservableType对外提供了:subscribe(信号订阅), 扩展了一个:asObservable(把非序列转化成序列)。Observable 的 create 方法创建了一个AnonymousObservable 序列, 有因为AnonymousObserva...

2019-07-28 20:48:22 150

原创 02.RxSwift之observable可观察序列

RxSwift之observable可观察序列RxSwift基础体验简单事例KVOUI层通知Timer网络总结observableRxSwift基础体验简单事例 // 函数式 - 数学 y = f(x) --> x = f(x) --> y = f(f(x)) // x 参数 2 = 1+1 = 0+2 // y 函数 ...

2019-07-28 18:25:47 360

原创 01.RxSwift简介

RxSwift简单介绍来源RxSwift是什么函数响应式编程来源RxSwift 是 Rx家族 的重要一员,Rx 就是复合的代名词, 不仅仅是一种使用可观察数据流进行异步编程的接口,他更是一种编程思想理念的突破实践。它集结了多种编程模式和精华于一身,包括:观察者模式,迭代器,函数响应式编程等待。 RxSwift作为Rx家族的一员,一样继承了Rx的这一系列的特性。RxSwift是什么RxSwi...

2019-07-28 15:12:04 234

原创 4.UIButton 的内边距调整title和图标位置

UIButton的内边距调整title和图标位置storyboard中通过按钮内边距调整图片和title的位置代码通过按钮内边距调整图片和title的位置storyboard中通过按钮内边距调整图片和title的位置一般设置图片和title默认效果如图:如何把图片和title位置互换:选中button控找到Semantic,点击下拉按钮,选中Fore Right-to_left即可,前边...

2019-07-18 15:17:06 870

原创 3. UIImageView加载图片注意事项

UIImageView加载图片注意事项UIImageView 加载本地图片UIImageView 创建的常用方法UIImageView 加载本地图片UIImageView 创建的常用方法通过 initWithImage UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"26...

2019-07-18 14:15:26 457

原创 2. iOS storyboard连线注意事项

storyboard连线注意事项方法连线注意事项属性连线注意事项方法连线注意事项一个控件可连线多个方法,这些方法从最后连接的方法开始倒叙执行在复制已经连线方法的控件时,需要注意复制出来的控件会把连线方法一同复制,需根据需求删除复制过来的方法连线,重新连线新的方法已经连线方法不需要的时候,需要两步:a.注释/删除该方法代码 b.删除控件的方法连线(如果只做了a, 点击控件就会unr...

2019-07-16 18:19:17 458

原创 1.iOS 图片、资源导入问题

1.图片资源引用问题图片、资源的引用问题1.Copy items if needed2.Create groups2.Create folder references3.Add to Targets图片、资源的引用问题查看项目工程资源包:1.Copy items if needed这个选项不勾选的话,只会将资源路径拷贝过来,不会拷贝资源文件,虽然Xcode文件结构中存在这个资源,但实际上...

2019-07-16 17:14:33 607

iOS核心动画高级技巧.pdf

Core Animation是一个复合引擎,它的职责就是尽可能快地组合屏幕上不同的可视内容,这个内容是被分解成独立的图层,存储在一个叫做图层树的体系之中。于是这个树形成了UIKit以及在iOS应用程序当中你所能在屏幕上看见的一切的基础

2019-07-10

从零开始学微信小程序开发 .pdf

这是微信小程序开发教程pdf文档,方便新手可以更轻松的学习小程序开发

2019-07-10

空空如也

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

TA关注的人

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