- 博客(12)
- 资源 (2)
- 收藏
- 关注
原创 Swizzling:偷梁换柱的黑魔法!
Swizzling:偷梁换柱的黑魔法!我们知道,OC是一门动态运行时语言。我们也知道,OC中的函数调用本质上其实是消息的发送:objc_MsgSend(someObject, @selector(methodName), parameters)。所有要调用的函数,编译阶段是无法确定的,只有到运行的时候才能确定!正因为有此特性,所以在运行阶段,我们都还可以做很多事,而要把本来应该实现的方法A,偷偷换成
2016-10-28 18:30:33 258
原创 那些被面试过的iOS题目
1.timer有哪几种?CADisplayLink和NSTimer的区别?2.UITableView那几个方法的调用顺序?假设有100个Cell,当前屏幕只能显示10个,调用reloadData后,viewForHeight方法会执行多少次?3.如何用TableView实现CollectionView,或者CollectionView实现tableView?4.MVC设计模式解
2016-10-17 18:00:14 303
原创 iOS进阶学习资料
本文主要整理一些大神的博客和文章以供大家学习,如果大家看到有更好的博客,请评论留言地址,我将不断完善,方便大家查阅和收藏。动画iOS-Core-Animation-Advanced-Techniques 中文翻译版,在GitHub。图层和动画必读。 一个点击cell,变为大图的Demo性能优化iOS 离屏渲染的研究 出自:简书齐滇大圣多线程GCD使用经验与技巧浅谈:GCD比较全面的使用指导 出自
2016-10-13 16:24:53 335
原创 Block与weakSelf和StrongSelf
不想废话,直接上代码进入主题,从基本的循环引用说起:在ViewController中声明一个block属性,如下:@interface ViewController ()@property (nonatomic, assign) NSInteger times;@property (nonatomic, copy) void(^block)();@end在viewdidLoad中,我们来模拟一下循
2016-10-13 11:57:28 229
转载 [经典]差不多先生传
你知道中国最有名的人是谁? 提起此人,人人皆晓,处处闻名。他姓差,名不多,是各省各县各村人氏。你一定见过他,一定听过别人谈起他。差不多先生的名字天天挂在大家的口头,因为他是中国全国人的代表。 差不多先生的相貌和你和我都差不多。他有一双眼睛,但看的不很清楚;有两只耳朵,但听的不很分明;有鼻子和嘴,但他对于气味和口味都不很讲究。他的脑子也不小,但他的记性却不很精明,他的思想也不很细密。他常常
2016-09-05 09:43:49 295
原创 [Perk]如何实现波浪效果(Swift)
首先,还是先来看看要实现的效果:没错,现在很多App中都有这种效果,比如给你显示剩余电量啊,流量啊什么的。一直想看看这种效果怎么实现的,看了一个Demo,瞬间明白,来,我们一步步实现一下,首先分析下实现的思路:1.其实波浪曲线是一条正弦曲线; 2.如何画出这条曲线呢?利用CAShapeLayer和UIBezierPath 画线就行了; 3.画出曲线来了过后,如何让这个曲线动起来呢?无非就是让这条
2016-08-30 22:30:51 1432
原创 [Perk]如何实现粒子效果
我们先来看一个简单的下雪的粒子效果:iOS在5.0之后,在QuartzCore中引入了一个CAEmitterLayer类,它是CALayer的子类,你猜的没错,该类便是实现雨雪、爆炸、烟雾等粒子效果的高性能粒子引擎。你所看到的每个雪花都是一个CAEmitterCell对象,这些对象都被放在CAEmitterLayer这个容器当中,给这个容器和这些对象设置一些属性,那么内部便自动帮我们实
2016-08-29 19:40:07 509
原创 [笔记]常用SQL语句
创建表CREATE TABLE IF NOT EXISTS "userInfo" ("tag" INTEGER PRIMARY KEY NOT NULL UNIQUE , "userId" TEXT NOT NULL UNIQUE , "password" TEXT NOT NULL , "name" TEXT) 插入数据INSERT INTO "userInfo" (userId
2016-07-18 11:56:15 277
原创 [小技巧]四步模拟开发中网速较慢的情况
工具:Charles步骤一:安装好Charles软件,并进入;步骤二:设置节流网速点击”Throttle Settings”进入节流设置界面: 勾选:Enable Throttling 在Throttle preset中选择你需要的网速! 步骤三:设置手机打开手机设置界面,进入当前连接的Wi-Fi的详情设置界面。将HTTP代理设置为手动。服务器填和电脑一样的IP地址,端口填8888;如下图:步
2016-07-13 17:56:02 2822
原创 [小技巧]自定义图片的圆角
主要思路:利用Quarts 2D对图片进行重新绘制。暂未考虑性能优化。核心方法:- (void)drawCornerImage{ /** * 利用BeezierPath绘制圆角图片区域 * * 参数一: 图片位置大小范围 * 参数二: 圆角位置 * 参数三: 圆角半径 */ UIBezierPath *path =
2016-07-11 19:38:07 348
原创 [Swift笔记]Swift强大的Switch语句
Swift学习笔记一:强大的Switch语句我们从一个需求来学习Swift中的Switch语句:在一个平面坐标系中,输入一个点,判断该点位于哪个象限。/*这里定义一个函数用来判断输入的点位位于坐标系的位置,参数即为需要判断位置的点位。(Float, Float)为Swift中的元组类型,这里暂时不去深究。返回值即为坐标点坐在象限。*/func judgePosition(position:
2016-07-08 10:06:04 680
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人