自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Xcode11后,新创建的项目无法进入Main.storyboard问题

Xcode12新建项无法使用Main.storyboardXcode12之后,新创建的项目会自动创建SceneDelegate文件如果删除这个文件后,项目将无法进入到Main.storyboard中。解决方法:在info.plist文件中搜索SceneDelegate,会搜索到Application Scene Manifest下存在这个文件名,直接删除即可,正常进入Main.storyboard中。...

2021-03-02 14:30:08 1499 1

原创 iOS第三方库SDWebImage解读学习。

前言SDWebImage是常用的第三方库之一,主要用在网络图片的加载,以及缓存上面。其应用方法简单啊,只需一句代码调用,即可实现对网络图片的加载+缓存操作,本篇内容主要是对其内部的代码逻辑进行解读以及学习。1.SDWebImage加载网络图片时的工作过程在网络获取图片前,取消并移除当前对象的图片下载线程。 动态关联该图片url(用于图片存缓存的key),一般默认选项有占位...

2021-03-02 14:16:46 359

原创 iOS中使用dispatch_sync崩溃问题。总结

崩溃发现是这样的,在维护项目过程中,有个地图的功能,在地图上会添加很多的标注物,但是我在测试过程中发现只要快速操作,比如连续点击放大地图,就会出现崩溃现象。崩溃点在dispatch_sync上面,使用同步县城dispatch_sync(dispatch_get_main_queue(), ^{ @try { [self.mapView remove...

2018-10-11 11:21:26 1977

原创 一篇关于JSPatch, 线上直接改BUG的利器,OC语法转换时遇到的坑

开发中往往会遇到应用上线但是还是存在bug的情况,这个时候我们需要及时更新错误的方法,来进行热修复,然后在苹果将热更新禁掉后,大多时候都需要重新审核来发布新的版本更新,然后JSPatch,可以通过腾讯Bugly平台来进行线上修复方法的骚操作。对于我这种竟然出现小bug的人来说就是神器。先上资源链接。【链接】腾讯Bugly-一种愉悦的开发方式_平台内有应用升级的功能支持,里面有对应的JSpa...

2018-07-22 15:36:50 732

转载 AFNetworking实现原理,转自简书,leo_guo。

NSURLSession:NSURLSession由三个基本模块构成:NSURLSessionNSURLSessionConfiguationNSURLSessionTaskNSURLSession相对于平时通信中的会话,但本身却不会进行网络数据传输,它会穿件多个NSURLSessionTask去执行每次的网络请求NSURLSession的行为取决于三个方面。包括NSURLSession的类型、N...

2018-06-17 14:29:16 255

原创 道格拉斯抽稀算法,应用于地图轨迹纠偏。OC语言篇

道格拉斯-普克算法(Douglas–Peucker algorithm,亦称为拉默-道格拉斯-普克算法、迭代适应点算法、分裂与合并算法)是将曲线近似表示为一系列点,并减少点的数量的一种算法。该算法的原始类型分别由乌尔斯·拉默(Urs Ramer)于1972年以及大卫·道格拉斯(David Douglas)和托马斯·普克(Thomas Peucker)于1973年提出,并在之后的数十年中由其他学者予...

2018-06-14 20:23:22 2844

原创 总结一些代码规范。

本文主要讲解一下自己在开发过程中对一些常用的全局变量的定义。之前自己做过一些电商类的应用,电商类的应用功能比较多,包含了各种功能,包括友盟统计,地图,分享,支付等等功能,这些功能都需要对应的私钥去关联,那么这些私钥如何储存呢,这里我使用的是全局变量饮用plist文件的方法。这些有经验的都有自己的整理方法,这里我就记录一下自己所用的方法了。首先是创建一个数据自己应用XXXconfig.h的文件,用来...

2018-06-01 00:24:59 568

原创 iOS中 atomic、nonatomic、assign、copy、retain、readonly的定义与区别

atomic、nonatomic:atomic提供多线程安全操作。其原理

2018-05-30 22:43:32 145

原创 iOS几种常用线程锁学习与总结。

开始前,先创建3个线程执行的任务。- (void)method1 {    NSLog(@"%@", @"线程1");}- (void)method2 {    NSLog(@"%@", @"线程2");}- (void)method3 {    NSLog(@"%@", @"线程3");}1.使用NSLock实现的锁NSLock是Cocoa提供给我们最基本的锁对象,这也是我们经常所使用的

2018-05-26 10:00:31 1178

转载 【iOS测试系列】instruments工具的使用(二)- 通过Time Profiler

1.很多公司都恨不得把app压法周期压缩到最低,这就导致了开发中隐藏了很多问题,有点经验的工程师草率的优化下,更糟的情况那些没有经验的工程师甚至不会对app进行任何优化.2.某种程度上来说,你开发过程中是可以忽略性能优化的. 十年前,移动设备的硬件资源是非常有限的.甚至连浮点数都是被禁止的.因为浮点数能导致代码变大计算的速度变慢.3.科技发展如此迅速的今天,硬件很大程度上可以弥补软件的短板.现在的...

2018-05-24 20:40:58 1520

转载 【iOS测试系列】instruments工具的使用(一)- 通过leaks分析内存泄露

  性能对于一款app来说至关重要,而程序的内存占用情况就是一项很重要的性能指标。虽然iOS 5.0版本之后加入了ARC机制,但由于相互引用关系比较复杂时,内存泄露还是可能存在。在本文中小编将给大家介绍一下在非ARC的情况下,如何使用Instruments - leaks工具来查找程序中的内存泄露。 运行Instruments - leaks工具打开Xcode自带的Instruments: 或者:...

2018-05-24 20:39:47 288

转载 iOS中block的详解weakSelf、strongSelf,以及block循环引用的避免。

1我们知道,在使用 block 的时候,为了避免产生循环引用,通常需要使用 weakSelf 与 strongSelf,写下面这样的代码:__weak typeof(self) weakSelf = self;[self doSomeBlockJob:^{ __strong typeof(weakSelf) strongSelf = weakSelf; if (strongSel...

2018-05-24 08:53:01 605

原创 Block常见陷阱总结。

1、引发内存泄露 假设一个类有两个属性:block和name;//// PHBlockTest.h// BlockTestTest//// Created by 項普華 on 2017/2/9.// 邮箱: [email protected]// 电话: +86 13316987488// 主页: https://github.com/xphaijj// Copyr...

2018-05-23 21:10:09 176

转载 多线程的初见面

多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径。 在系统级别内,程序并排执行,程序分配到每个程序的执行时间是基于该程序的所需时间和其他程序的所需时间来决定的。 然而,在每个程序内部,存在一个或者多个执行线程,它同时或在一个几乎同时发生的方式里执行不同的任务。 概要提示: iPhone中的线程应用并不是无节制的,官方给出的资料显示,iPhone OS下的主线程的堆栈

2017-09-22 21:17:23 194

空空如也

空空如也

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

TA关注的人

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