IOS学习笔记
文章平均质量分 71
Mr不怎么right
像路飞那样阳光,勇敢,不服输
展开
-
iOS——NSKeyedArchiver与NSKeyedUnarchiver
归档是一种很常用的文件储存方法,几乎任何类型的对象都能够被归档储存(实际上是一种文件保存的形式) 一、使用archiveRootObject:tFile进行简单的归档使用NSKeyedArichiver进行归档、NSKeyedUnarchiver进行接档,这种方式会在写入、读出数据之前对数据进行序列化、反序列化操作。归档:NSString *homeDictionary = NSHomeDirec原创 2016-12-12 13:03:28 · 513 阅读 · 0 评论 -
xCode常见的一些错误总结
最近做一个东西的时候由于自己一边看手机一边敲代码,然后漫不经心的我让一个好好的程序出了bug,这种bug也不是代码的bug,就是xcode配置等等出现的一下问题,在代码本身没有错误的情况下,大多数xcodeb的错误可以通过clean来解决,最好按住option键再clean,这样clean得更彻底,反正我用这个方法解决了很多报错,比如基本上大多数Xcode报错都可以通过clean来解决,还有就是把原创 2016-12-12 10:42:40 · 1404 阅读 · 0 评论 -
iOS10适配问题
本文将为大家说明iOS10 适配问题的相关介绍,具体实例请看下文前段时间升级了Xcode8,整体来说对OC的影响不大,但是还是跳一个坑,消耗了不少时间。这里总结下遇到的适配问题。1、权限问题 Xcode8 访问相机、相册等需要权限的地方崩溃 解决办法: 在使用私有权限时,添加Info.plist文件中添加配置:下面是各种key,需要哪个转载 2016-12-11 16:42:31 · 10429 阅读 · 0 评论 -
iOS Run loop总结
一、简述1、RunLoop是事件接收和分发机制的一个实现 2、并且它能处理App中的各种事件(比如触摸事件、定时器事件、Selector事件) 3、以及节省CPU资源,提高程序性能:(该做事时做事,该休息时休息) 每一个线程对应着一个 RunLoop ,但是线程在创建的时候是没有 RunLoop 的,如果你不去获取它,它会一直没有,当然必须你自己的主动去获取,但是在你线程结束的时候,你所获取的原创 2016-10-24 11:29:39 · 537 阅读 · 0 评论 -
Xcode升级后插件失效的原理与修复办法
Xcode 的插件大大丰富了 Xcode 的功能,而且有了 Alcatraz ,插件的管理也非常容易。但是有个非常恼人的问题:一旦升级 Xcode ,插件就失效!之前 Xcode 升级到6.2的时候遇到过插件失效的问题,Google 之后把一段很长命令复制到 Terminal 后运行一下即可,当时一看解决了,顿时觉得满足感爆棚,自己可以拯救地球了~就没有再深入,结果升级到6.3时又遇到了。“同样的招转载 2016-09-22 09:50:50 · 285 阅读 · 0 评论 -
iOS绘图——Quartz 2D使用方法
自定义UIView时,只需要重写drawRect:方法 使用Quartz 2D其实也很简单 首先必须要获取绘图的环境,即获取上下文CGContextRef 然后使用各种API进行绘图就可以了(这里有很多API,只有用得多了才能记住) 接下来通过绘制不同的图形来做详细讲解(具体解释都在注释中) 1、绘制几何图形- (void)drawRect:(CGRect)rect{// 获取绘图上下原创 2016-09-20 09:47:33 · 556 阅读 · 0 评论 -
iOS动画——Core Animation详解
Core Animation创建动画不仅简单,而且具有更好的性能,原因如下 - Core Animation动画在单独的线程中完成,不会阻塞主线程 - Core Animation动画只会重绘界面上变化的部分(局部刷新)。 一、使用CALayer Core Animation的核心是CALayer,每个UIView都有自己的CALayer,而且每个CALayer都可以不断的添加字CALaye原创 2016-09-19 22:44:38 · 549 阅读 · 0 评论 -
iOSBlock学习笔记
一、基本语法 定义块的格式如下:1.定义无参无返回值的块void (^printStr)(void) = ^(void){ NSLog(@"这是定义无参无返回值的块");}2定义带参有返回值的块int (^add)(int,int) = ^(int a,int b){ return a + b;}3.调用块printStr();int c = add(3,4) //原创 2016-08-12 17:44:17 · 349 阅读 · 0 评论 -
关于多线程中同步和异步的理解
线程同步:就是多个线程同时访问同一资源,必须等一个线程访问结束,才能访问其它资源,比较浪费时间,效率低 线程异步:访问资源时在空闲等待时可以同时访问其他资源,实现多线程机制 说起来比较抽象,我用代码尝试了一下//以异步的方式提交队列-(void)async{ dispatch_async(q1, ^{ for (int i = 0; i < 10; i ++) {原创 2016-08-15 22:30:57 · 2213 阅读 · 0 评论 -
iOS使用fmdb创建单例
最近在使用数据库的时候,觉得fmdb还是比原生的sqlite好用一点,而在用fmdb的时候,使用单例用起来就更爽了。话不多说,直接贴代码创建一个DataBaseHelper.这是h文件#import #import "FMDatabase.h"@class TPUserinfo;@interface TPDataBaseHelper :NSObject原创 2016-07-30 08:49:55 · 1826 阅读 · 0 评论 -
iOS中alloc/init和new的区别
1.在实际开发中很少会用到new,一般创建对象咱们看到的全是[[className alloc] init]但是并不意味着你不会接触到new,在一些代码中还是会看到[className new],还有去面试的时候,也很可能被问到这个问题。2.那么,他们两者之间到底有什么区别呢我们看源码:+ new { id newObject = (*_alloc)((Class)self转载 2016-07-01 11:56:08 · 429 阅读 · 0 评论 -
关于property参数的理解
之前对于property的参数,一直是弄得云里雾里的,不知道这些参数到底有啥用,最近学了内存管理,算是对它有了一点理解,我也来总结一下把。首先,参数分三类:原子性:atomic/nonatomic (默认是atomic)atomic:对属性加锁,只能一个线程对它进行访问,多线程下安全nonatomic:对属性不加锁,多线程下不安全(速度比较快,一般不使用多线程的情况下都用它)读原创 2016-06-07 09:39:10 · 1211 阅读 · 0 评论 -
iOS内存管理初认识
Objective-C提供了三种内存管理机制:manual retain-release(MRR,手动管理),automatic reference counting(ARC,自动引用计数),garbage collection(垃圾回收)。iOS不支持垃圾回收。首先强调一下,内存分为五大区: 1)、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数原创 2016-06-07 22:46:58 · 921 阅读 · 0 评论 -
iOS中property属性的关键字(史上最详解)
文章都在简书上,需要的朋友请关注我简书昨天立了flag,今天就来开始第一篇文章吧。 property的关键字是我们平常写代码随时都会用到的,只要声明一个属性,就会用到这些关键字,先从最简单的讲起吧。一、如何使用property的关键字分三类: - 一类是表示原子性(也就是线程安全)的,有atomic和nonatomic,默认是atomic,acomic也就是线程安全,但是我们一般都...原创 2017-04-22 18:30:19 · 3134 阅读 · 0 评论