随笔分类 -  iOS

1 2 3 4 5 ··· 9 下一页
摘要:锁 是什么意思? 我们在使用多线程的时候多个线程可能会访问同一块资源,这样就很容易引发数据错乱和数据安全等问题,这时候就需要我们保证每次只有一个线程访问这一块资源,锁 应运而生。 我们在使用多线程的时候多个线程可能会访问同一块资源,这样就很容易引发数据错乱和数据安全等问题,这时候就需要我们保证每次只 阅读全文
posted @ 2019-10-11 15:02 韦韦韦 阅读(1631) 评论(0) 推荐(1)
摘要:进程:正在进行中的程序被称为进程,负责程序运行的内存分配;每一个进程都有自己独立的虚拟内存空间; 线程:线程是进程中一个独立的执行路径(控制单元);一个进程中至少包含一条线程,即主线程。 队列:dispatch_queue_t,一种先进先出的数据结构,线程的创建和回收不需要程序员操作,由队列负责。 阅读全文
posted @ 2019-09-06 15:36 韦韦韦 阅读(513) 评论(0) 推荐(0)
摘要:王巍的博客:王巍目前在日本横滨任职于LINE。工作内容主要进行Unity3D开发,8小时之外经常进行iOS/Mac开发。他的陈列柜中已有多款应用,其中番茄工作法工具非常棒。 http://onevcat.com池建强的博客: 池建强,70后程序员,Blogger。98年毕业,先后就职于洪恩软件、Ro 阅读全文
posted @ 2019-05-21 14:59 韦韦韦 阅读(324) 评论(0) 推荐(0)
摘要:1.新建工程选择iOS —> Cocoa Touch Framework 2.进入创建好的工程删除掉自带的工程同名头文件 3.添加所需文件 4.TARGETS —> Build Settings 中设置相关项(1).Build Active Architecture Only 设置为NO的意思是当前 阅读全文
posted @ 2019-01-05 08:51 韦韦韦 阅读(292) 评论(0) 推荐(0)
摘要:AFNetworking 在去年年底升级到了 3.0。这个版本更新想必有很多好处,然而让我吃惊的是,它并没有 batch request 接口。之前的 1.x 版本、2.x 版本都实现了这个很常见的需求,不知道作者为何选择在 3.x 中去掉它。 在 AFNetworking 2 中,我们只需一行代码 阅读全文
posted @ 2018-08-17 10:11 韦韦韦 阅读(5863) 评论(1) 推荐(0)
摘要:我们都知道dismissViewControllerAnimated:completion:方法是针对被present出来的控制器的,一般我们这样使用:在一个控制器中present另外一个控制器A,然后在A中执行dismissViewControllerAnimated:completion:让自己 阅读全文
posted @ 2018-07-20 09:36 韦韦韦 阅读(1078) 评论(0) 推荐(0)
摘要:或者 阅读全文
posted @ 2018-07-10 10:18 韦韦韦 阅读(779) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2018-07-05 09:13 韦韦韦 阅读(198) 评论(0) 推荐(0)
摘要:1、在项目info.plist中添加URL Types以供html调用 2.html代码 3.客户端代码 - (BOOL)application:(UIApplication )application openURL:(NSURL )url sourceApplication:(NSString * 阅读全文
posted @ 2018-06-15 13:21 韦韦韦 阅读(1342) 评论(0) 推荐(0)
摘要:MVC 通过代理或者通知传递数据。 MVP 通过P绑定model和view解耦。 MVVM 通过V绑定VM(监听VM属性的变化、方法传递(改变自身被监听属性)) VM绑定model设置自身属性。 阅读全文
posted @ 2018-05-17 15:44 韦韦韦 阅读(142) 评论(0) 推荐(0)
摘要:1.Runtime的消息转发机制 消息转发机制基本上分为三个步骤: 1. 动态方法解析 2. 备用接收者 3. 完整转发 2.Runloop的工作原理 runloop、autorelease pool以及线程之间的关系。 每个线程(包含主线程)都有一个Runloop。对于每一个Runloop,系统会 阅读全文
posted @ 2018-05-07 08:58 韦韦韦 阅读(227) 评论(0) 推荐(0)
摘要:消息转发是一种功能强大的技术,可以大大增加Objective-C的表现力。什么是消息转发?简而言之,它允许未知的消息被困住并作出反应。换句话说,无论何时发送未知消息,它​​都会以一个很好的包发送到您的代码中,此时您可以随心所欲地执行任何操作。 为什么它被称为 “转发”? 当某个对象没有任何响应某个 阅读全文
posted @ 2018-05-03 09:24 韦韦韦 阅读(262) 评论(0) 推荐(0)
摘要://创建数据库版本表 if (![db tableExists:@"tb_dbInfo"]) { result = [db executeUpdate:@"CREATE TABLE tb_dbInfo(version TEXT)"]; } #pragma mark 更新版本号 + (BOOL)update... 阅读全文
posted @ 2018-04-27 13:25 韦韦韦 阅读(186) 评论(0) 推荐(0)
摘要:+(NSString*)getCacheSize { NSDate* begin = [NSDate date]; NSFileManager* fm = [NSFileManager defaultManager]; __block NSError* error = nil; __block NSUInteger fileSize... 阅读全文
posted @ 2018-04-27 13:22 韦韦韦 阅读(131) 评论(0) 推荐(0)
摘要:基础: 1、如何令自己所写的对象具有拷贝功能? 若想令自己所写的对象具有拷贝功能,则需实现 NSCopying 协议。如果自定义的对象分为可变版本与不可变版本,那么就要同时实现 NSCopying与 NSMutableCopying协议。 具体步骤: 需声明该类遵从 NSCopying 协议 实现 阅读全文
posted @ 2018-04-24 14:15 韦韦韦 阅读(229) 评论(0) 推荐(0)
摘要:简介:在项目中经常碰到首页顶部是无限轮播,需要靠最上面显示.有的设置导航栏为透明等一系列的方法,这个可以借助第三方.或者干脆简单粗暴的直接隐藏掉导航栏.可是push到下一个页面的时候是需要导航栏的,如何做了,这里给出两种方法. 第一种做法 -注意这里一定要用动画的方式隐藏导航栏,这样在使用滑动返回手 阅读全文
posted @ 2016-12-22 10:36 韦韦韦 阅读(3755) 评论(0) 推荐(0)
摘要:我们在开发中有时会遇到一些看似非常复杂的动画,不知该如何下手,今天的这篇文章中我会讲到如何利用CADisplayLink和CAShapeLayer来构建一些复杂的动画,希望能在你下次构建动画中,给你一些启发。 在接下来的文章中,我们会构建如下的一个动画: 该动画是在du的轮廓中进行,类似一个镂空效果 阅读全文
posted @ 2016-12-21 09:08 韦韦韦 阅读(473) 评论(0) 推荐(0)
摘要:该错误信息是我在一个.h文件里申明了公共变量,然后在其他类里重复使用。 Build Settings ->No Common Blocks默认为YES,编译器就报错了,需要修改Build Settings里的No Common Blocks为NO。 NO Common Blocks 是什么? 官方的 阅读全文
posted @ 2016-12-19 09:42 韦韦韦 阅读(386) 评论(0) 推荐(0)
摘要:问题 weak 变量在引用计数为0时,会被自动设置成 nil,这个特性是如何实现的? 答案 在 Friday QA 上,有一期专门介绍 weak 的实现原理。https://mikeash.com/pyblog/friday-qa-2010-07-16-zeroing-weak-references 阅读全文
posted @ 2016-12-08 08:40 韦韦韦 阅读(3249) 评论(0) 推荐(0)
摘要:问题 有没有这样一个需求场景,block 会产生循环引用,但是业务又需要你不能使用 weak self? 如果有,请举一个例子并且解释这种情况下如何解决循环引用问题。 答案 需要不使用 weak self 的场景是:你需要构造一个循环引用,以便保证引用双方都存在。比如你有一个后台的任务,希望任务执行 阅读全文
posted @ 2016-12-08 08:39 韦韦韦 阅读(1478) 评论(0) 推荐(0)

1 2 3 4 5 ··· 9 下一页