- 博客(8)
- 收藏
- 关注
原创 iOS 自定义日历的实现
Swift 3.0版本的日历~~1.首先,自定义日历的载体一定是CollectionView了~2.然后,最关键的就是获取日历的信息了:当前日期,月份,1号是星期几,当前月份有多少天了... 通过这些信息,就可以确定每一个cell应该显示什么信息了. //MARK: - Private internalfunc dateInfo(date
2017-01-24 16:30:44
2413
转载 iOS多线程安全的几种解决方案以及性能对比
一、前言前段时间看了几个开源项目,发现他们保持线程同步的方式各不相同,有@synchronized、NSLock、dispatch_semaphore、NSCondition、pthread_mutex、OSSpinLock。后来网上查了一下,发现他们的实现机制各不相同,性能也各不一样。不好意思,我们平常使用最多的@synchronized是性能最差的。下面我们先分别介绍每个加锁方式的使用,在
2016-12-11 09:24:52
733
原创 GCD,@synchronized 实现生产者-消费者模型
//// ViewController.m// Test//// Created by 小白 on 2016/12/10.// Copyright © 2016年 LinJian. All rights reserved.//#import "ViewController.h"@interface
2016-12-11 09:16:23
486
转载 iOS多线程总结
在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项。当然也会给出几种多线程的案例,在实际使用中感受它们的区别。还有一点需要说明的是,这篇文章将会使用 Swift 和 Objective-c 两种语言讲解,双语幼儿园。OK,let's begin!概述这篇文章中,我不会说多线程是什么、线程和进程的区别、多线程有什么用,当然我也不会说什么是串
2016-12-06 14:23:54
521
转载 iOS应用崩溃日志分析
作为一名应用开发者,你是否有过如下经历? 为确保你的应用正确无误,在将其提交到应用商店之前,你必定进行了大量的测试工作。它在你的设备上也运行得很好,但是,上了应用商店后,还是有用户抱怨会闪退 ! 如果你跟我一样是个完美主义者,你肯定想将应用做到尽善尽美。于是你打开代码准备修复闪退的问题……但是,从何处着手呢? 这时iOS崩溃日志派上用场了。在大多数情况下,你能从中了解到关于
2016-11-30 20:46:50
245
转载 Swift MethodSwizzling
示例程序可以从 Github 上下载。(译者注:译者也写了一篇关于 Method Swizzling 的文章 Runtime 之 Method Swizzling,顺便写了两个小 demo 来对比 Objective-C 和 Swift 之间 Method Swizzling 的异同,示例代码传送门)Method Swizzling 在 Objective-C 或其他语言中是一
2016-11-29 23:40:52
444
转载 +initialize 与 +load
+ initialize 方法和+load 调用时机首先说一下 + initialize 方法:苹果官方对这个方法有这样的一段描述:这个方法会在 第一次初始化这个类之前 被调用,我们用它来初始化静态变量。load 方法会在加载类的时候就被调用,也就是 ios 应用启动的时候,就会加载所有的类,就会调用每个类的 + load 方法。之后我们结合代码来探究一下 + initiali
2016-11-29 23:31:10
237
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人