- 博客(28)
- 资源 (3)
- 收藏
- 关注
转载 iOS动画(一):拍电影与CABasicAnimation
动效设计一直是iOS平台的优势,良好的动效设计可以很好地提升用户体验。而动画则是动效的基础支撑。本动画系列将从易到难逐步分析,本文就是第一站:CABasicAnimation。通过本文,你能收获到:以拍电影的思路写动画代码编写自己的简单动画库一、概念这个部分你需要了解以下概念: CALayer、CAAnimation、拍电影(R U kidding me?)1、CA
2017-07-02 00:13:32
287
转载 iOS动态性(二)可复用而且高度解耦的用户统计埋点实现(Method Swizzling(Hook))
用户统计.jpeg用户行为统计(User Behavior Statistics, UBS)一直是移动互联网产品中必不可少的环节,也俗称埋点。在保证移动端流量不会受较大影响的前提下,PM们总是希望埋点覆盖面越广越好。目前常规的做法是将埋点代码封装成工具类,但凡工程中需要埋点(如点击事件、页面跳转)的地方都插入埋点代码。一旦项目越来越复杂,你会发现埋点的代码散落在程序的各个角落,不利于维
2017-07-01 17:54:13
403
转载 iOS动态性(一) 一行代码实现iOS序列化与反序列化(runtime)
一、变量声明为便于下文讨论,提前创建父类Biology以及子类Person:Biology:@interface Biology : NSObject{ NSInteger *_hairCountInBiology;}@property (nonatomic, copy) NSString *introInBiology;@end@implementation Bi
2017-07-01 14:30:00
305
转载 safari调试iPhone app web页面
Overview当下移动端开发过程中大量使用前段H5、js等等技术,而这些web页面的调试在Xcode控制台中不太明了,经常我们移动app运行了就是方法,但是不能显示响应的效果,这时候或许就是已经报错了,但是我们在Xcode控制台是看不到这些错误。这时候我们就可以用功能强大的Safari浏览器来开启开发模式连接iPhone来调试app脸面的web页面了。Safari设置打开Safari
2017-06-22 15:51:22
815
转载 RunLoop的应用和RunLoop的面试题
一:RunLoop的应用 #import "ViewController.h"@interface ViewController ()/** 注释 */@property (nonatomic, strong) NSThread *thread;@end@implementation ViewController/** * 1:用NSThread创建线程的时
2017-06-18 20:41:04
348
转载 RunLoop总结:RunLoop 与GCD 、Autorelease Pool之间的关系
如果在面试中问到RunLoop相关的知识,很有可能也会问到RunLoop与GCD、Autorelease Pool有没有关系,哪些地方用到了GCD、Autorelease Pool等。So,本文就总结一下RunLoop与GCD和 Autorelease Pool 之间的关系,看看在RunLoop实现中,哪些地方间接或者直接使用、操作到了GCD 和Autorelease Pool。Run
2017-06-18 16:21:35
329
转载 RunLoop总结:RunLoop基础知识
没有实际应用场景,很难理解一些抽象空洞的东西,所以前面几篇文章先介绍了RunLoop的几个使用场景。 另外AsyncDisplayKit中也有大量使用RunLoop的示例。关于实际的使用RunLoop 的案例和使用场景就不总结了,今天总结一点RunLoop的基础知识和概念。什么是RunLoop?顾名思义,它就是一个运行循环。一个RunLoop 就是一个用于处理既定工作和接收到的
2017-06-18 16:18:49
385
转载 RunLoop总结:RunLoop的应用场景(五)
今天要介绍的RunLoop应用场景感觉很酷炫,我们可能不常用到,但是对于做Crash 收集的 SDK可能会用得比较频繁吧。相比关于RunLoop 可以让应用起死回生,大家都听说过,可是怎么实现呢?今天我就来实际试验一下。资料sunnyxx线下分享RunLoop (这是一份关于线下分享与讨论RunLoop的视频,备用地址:https://pan.baidu.com/s/1pLm4Vf9)
2017-06-18 16:16:28
304
转载 RunLoop总结:RunLoop的应用场景(四)
今天要介绍的RunLoop使用场景很有意思,在做长期项目,需要跟踪解决用户问题非常有用。 使用RunLoop 监测主线程的卡顿,并将卡顿时的线程堆栈信息保存下来,下次上传到服务器。参考资料关于今天要介绍的使用RunLoop 监测主线程卡顿的资料如下: * 微信iOS卡顿监控系统 (这篇文章要首先阅读,了解有哪些情况会引起主线程卡顿,监测到卡顿后怎么处理等) * 监控卡顿
2017-06-18 16:14:21
389
转载 RunLoop 总结:RunLoop的应用场景(二)
上一篇讲了使用RunLoop保证子线程的长时间存活,而不是执行完任务后就立刻销毁的应用场景。这一篇就讲述一下RunLoop如何保证NSTimer在视图滑动时,依然能正常运转。参考资料好的书籍都是值得反复看的,那好的文章,好的资料也值得我们反复看。我们在不同的阶段来相同的文章或资料或书籍都能有不同的收获,那它就是好文章,好书籍,好资料。 关于iOS 中的RunLoop资料非常的少,以下资
2017-06-18 16:11:27
425
转载 RunLoop 总结:RunLoop的应用场景(一)
参考资料好的书籍都是值得反复看的,那好的文章,好的资料也值得我们反复看。我们在不同的阶段来相同的文章或资料或书籍都能有不同的收获,那它就是好文章,好书籍,好资料。 关于iOS 中的RunLoop资料非常的少,以下这些资料都是非常好的。CF框架源码(这是一份很重要的源码,可以看到CF框架的每一次迭代,我们可以下载最新的版本来分析,或与以下文章对比学习。目前最新的是CF-1153.18
2017-06-18 16:06:08
296
转载 RunLoop总结:RunLoop的应用场景(三)
今天要讲的RunLoop的应用场景可能太简单了,所以东西比较少。因为跟UITableView、UICollectionView等的滑动优化有关,就顺便总结一下会影响UITableView、UICollectionView等视图滑动流畅的因素。参考资料好的书籍都是值得反复看的,那好的文章,好的资料也值得我们反复看。我们在不同的阶段来相同的文章或资料或书籍都能有不同的收获,那它就是好文章,好书
2017-06-18 16:01:31
336
转载 iOS开源项目:JSONKit
一个Json解析库,其特点是代码简单,只有一个.h和.m文件。https://github.com/johnezang/JSONKit JSON(JavaScript Object Notation)是一个轻量级的,基于文本的,序列结构化数据格式. 由RFC 4627定义.提供以下主要类型:nullBoolean true and falseNumberStringAr
2017-06-18 15:57:01
247
转载 序列化和反序列化的简单理解
摘自:http://hi.baidu.com/popln/blog/item/c3dd9302bb37e994d43f7ccb.html开篇1到底这个序列化有啥作用?面向对象的程序在运行的时候会创建一个复杂的对象图,经常要以二进制的方法序列化这个对象图,这个过程叫做Archiving. 二进制流可以通过网络或写入文件中(来源于某教材的一段话) 本人的理解是当你于
2017-06-18 15:06:29
255
转载 UITextField中文输入法输入时对字符长度的限制
如题的问题,又是个让我抓狂了大半天的问题,还是做个记录,有与类似问题的同学可参考,但不一定对。具体问题还需具体分析。我遇到的需求是这样的:有一个输入框,输入框内输入文字,文字字数限制在20字。我采用了UITextField作为我的输入框控件,并且在委托方法:-(BOOL)textField:(UITextField *)textField shouldChangeCha
2017-06-08 17:31:34
364
转载 iOS ARC环境下dealloc的使用
在MRC时代,我们需要在 dealloc中做很多,比如释放对象,等等;如今我们已经进入ARC时代,对于普通对象的释放,系统已经帮我们做好了;那是否可以高枕无忧了呢?在ARC下我们应该做什么?观点:ARC下,系统可以帮我们释放该对象,及其包含的对象;但是却无法释放不属于该对象的一些东西,如:1.通知的观察者,或KVO的观察者
2017-06-01 17:41:33
323
转载 IOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)
首先了解一下CGContextRef:An opaque type that represents a Quartz 2D drawing environment.Graphics Context是图形上下文,可以将其理解为一块画布,我们可以在上面进行绘画操作,绘制完成后,将画布放到我们的view中显示即可,view看作是一个画框.自己学习时实现的demo,希望对大家有帮助,具体的
2017-05-24 18:04:50
282
转载 编写高质量的Objective-C代码
点标记语法属性和幂等方法(多次调用和一次调用返回的结果相同)使用点标记语法访问,其他的情况使用方括号标记语法。良好的风格:view.backgroundColor = [UIColor orangeColor];[UIApplication sharedApplication].delegat
2017-05-24 17:54:54
246
转载 XCode快捷键
从雨痕老大的博客上转来的 http://www.rainsts.net/article.asp?id=1066 读书人偷书不算窃 :) 1. 文件CMD + N: 新文件CMD + SHIFT + N: 新项目CMD + O: 打开CMD + S: 保存CMD + SHIFT + S: 另存为CMD + W: 关闭窗口CMD + SHIFT + W: 关
2017-05-24 17:06:58
188
转载 Objective-C语法之代码块(block)的使用
代码块本质上是和其他变量类似。不同的是,代码块存储的数据是一个函数体。使用代码块是,你可以像调用其他标准函数一样,传入参数数,并得到返回值。脱字符(^)是块的语法标记。按照我们熟悉的参数语法规约所定义的返回值以及块的主体(也就是可以执行的代码)。下图是如何把块变量赋值给一个变量的语法讲解:按照调用函数的方式调用块对象变量就可以了:int result = myBlock(4
2017-05-24 16:47:05
200
转载 Mac OS 开发 - dmg文件打包
最近因为博主自己的需求,而App Store上的App不能满足需求,或者是说,想借此机会涉猎一下Mac OS的开发。之前一直臆想iOS开发和Mac OS差不多,实则不然。BTW 推荐一款非Apple官方的App Store, HackStore 是一款来自俄罗斯的Mac应用商店,我们可以将自己开发完的App免费发布上去,也是具有审核机制的,博主目前推广自己的ImageHosting ,一款
2017-05-23 15:06:50
1215
原创 IOS推送证书设置
iOS 证书设置指南 iOS证书命令证书有效期 openssl x509 -in xxx.pem -noout -dates 连接APNS测试证书是否合法 开发环境openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert xxx.pem -key xxx.p
2017-05-17 09:56:31
573
转载 使用LuaScriptCore来让Lua与iOS进行交互
摘要: Lua的C Api相对来说不容易理解和掌握,需要投入一定的时间去学习和累积这方面的经验。而LuaScriptCore就是为了解决这些问题而诞生,他简化了扩展Lua的难度,让开发者可以通过自己熟悉的语言来扩展Lua,完美解决Lua与原生代码之间的通讯问题。可能有一些人对lua并不是太熟悉,它其实跟JavaScript、Ruby、Python等同为脚本语言。但是更加轻量,更加简
2017-05-16 15:16:21
337
转载 Lua与OC相互调用
下面将讲解一下如何在iOS里调用Lua函数,以及Lua函数如何调用iOS本地函数。转载请注明出处。原文出处 http://www.cnblogs.com/winewind/archive/2012/09/06/2673094.html1 lua_State *l;2 l = lua_open();lua_open 若要使用Lua,必须先初始化一个lua_State环境,以后的
2017-05-16 15:10:15
1592
转载 【lua开发】math 函数
------------------------------------------------------lua中 常用math,但是时常会忘记传什么参数,比如角度还是弧度之类的以下就是常见,使用查询 (备忘)------------------------------------------------------函数
2017-05-15 22:27:43
368
转载 IOS远程消息推送
一、引言IOS中消息的推送有两种方式,分别是本地推送和远程推送,本地推送在http://my.oschina.net/u/2340880/blog/405491这篇博客中有详细的介绍,这里主要讨论远程推送的流程与配置过程。二、远程推送机制的原理1、从一张很火的图说起搜索IOS远程推送,你总能看到一张如下的流程示意图,因为这张图确实很火,所以我也将它引用在此:
2017-05-15 16:51:58
657
转载 MAC上搭建lua开发环境
1. 下载和安装lua:1. 下载最新版的lua-5.3.4lua官网下载,然后解压 2. 运行“终端”进入到该文件夹下 ,主要是cd 【文件夹名】(或者使用go2shell)3.在“终端”输入 make macosx (回车)4.在“终端”输入 make test (回车)正常情况下会出现: src/lua -vLua 5.2.0 Copyrigh
2017-05-13 21:20:41
284
转载 IOS开发之static变量
Objective-C 支持全局变量主要有两种实现方式:(1)第一种和C/C++中的一样, 使用"extern"关键词;(2)另外一种就是使用单例实现。 (比如我们经常会把一个变量放在AppDelegate里面作为全局变量来访问, 其中AppDelegate就是一个单例类) 在Objective-C中如何实现像C++中那样的静态成员变量呢?你需要做的是在一个类A的i
2017-05-10 11:35:53
358
2010年6月大学英语四级文本
2010-11-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人