关于图片的一些知识点

2019-08-02
阅读 7 分钟
2.3k
如果说之前的项目中哪个 bug 让我记忆犹新,我会毫不犹豫的说是内存溢出(OOM),因为当时无论从 dSYM 还是第三方的报错信息中我都找不出问题是所在,而且开发过程中也极少遇到,现在知道当时遇到的是高分辨率的图片集中渲染导致的 OOM。

关于埋点

2019-03-06
阅读 3 分钟
2.2k
本文主要介绍 火球买手 项目上的埋点方案(基于神策),以及一些心得。事实上在项目早期,我们的埋点完全依赖于第三方的全埋点技术,客户端开发人员只需要做一些简单的工作就能满足 BI 部门对数据的需求。但随着业务增长,对数据的准确性和精细化的要求越来越高,之后不得不转向手动埋点,当然这个也是基于第三方的。

嵌套滚动效果实现讨论

2019-03-06
阅读 3 分钟
4.7k
本文要讨论的是类似于即刻、淘票票首页,抖音、简书个人主页这样的嵌套滚动效果,事实上网上已经有很多的相关的文章,比如: 嵌套UIScrollview的滑动冲突解决方案 iOS 嵌套UIScrollview的滑动冲突另一种解决方案 多层 UIScrollView 嵌套滚动解决方案 而且绝大多数的文章都是从如何解决手势冲突出发给出相应的解决方案,...

Swift 中的 Range

2018-11-23
阅读 7 分钟
5.1k
本文主要讲解 Range 家族类的一些实现细节和 Swift 中面向协议编程的一些具体表现。为了方便起见,无论是 class 或者 struct 都统称为『类』。

Texture 布局篇

2018-11-23
阅读 16 分钟
5.8k
Texture 拥有自己的一套成熟布局方案,虽然学习成本略高,但至少比原生的 AutoLayout 写起来舒服,重点是性能远好于 AutoLayout ,Texture 文档上也指出了这套布局方案的的优点:

新大陆:AsyncDisplayKit

2017-01-03
阅读 6 分钟
10.6k
APP性能的优化,一直都是任重而道远,对于如今需要承载更多信息的APP来说更是突出,值得庆幸的苹果在这方面做得至少比安卓让开发者省心。UIKit 控件虽然在大多数情况下都能满足用户对于流畅性的需求,但有时候还是难以达到理想效果。

React Native杂谈

2016-05-04
阅读 2 分钟
4.6k
和reactivecocoa一样,react-native也很早就开始关注了,之所以到前段时间才学习,原因有几点 整个项目已经相对成熟 国内外社区比较活跃 JavaScript和React学习成本并没有想象的那么高 对前两个原因我觉得有必要详细说明下,下面的内容我会用RN缩写来代替react-native RN的更新频率很高,从目前来看差不多半个多月一个版...

使用TestFlight

2016-01-18
阅读 2 分钟
7.1k
首先需要上传 APP 到 itunesconnect,这个和发布 APP 到 itunesconnect 审核上线没什么区别,所以需要发布证书和Provisioning,但并不需要是 Release,也可以是Debug,毕竟我们只需要测试。

即刻APP收藏按钮的实现

2015-09-15
阅读 2 分钟
3.8k
前不久即刻更新到了2.0,整体 UI 虽然朴实了不少,但也不乏一些精致的效果,比如收藏按钮,效果如下,代码已上传github 实现这个效果需要三个元素 最下层利用 maskLayer 创造一个爱心形状的 View 中间层添加一个镂空的 ImageView 用于显示爱心边框 最上层需要一个用于显示填充动画的View maskLayer 这里就不过多介绍了,...

网络请求LCNetwork

2015-08-18
阅读 6 分钟
5.2k
网络层的封装一直是项目中不足之处,前不久看了唐巧大神的YTKNetwork后又拜读了宇大神的这篇博客,前者让我看到了离散型API封装的典型例子,后者恰好又提供了用 protocol 封装的很好思路以及说明了继承方式的封装的优缺点,于是结合两者 LCNetwork 就诞生了。项目地址github,目前已经适配 AFNetworking 3.x

印象笔记

2015-07-03
阅读 1 分钟
3.5k
从学习C语言开始就一直有总结记录的习惯,算起来使用印象笔记也有大概4年左右了,很多笔记早就想分享出来,下面是三个是我的笔记本链接,一个是iOS开发笔记,一个开发相关的,还有是关于Reactivecocoa。

带有简单动画的PageControl

2015-06-24
阅读 2 分钟
3.5k
开源一个带有简单动画的PageControl控件,支持Autolayout,地址GitHub。 目前有三种样式可选,包括: LCSquirmPageStyle LCScaleColorPageStyle LCDepthColorPageStyle LCFillColorPageStyle 例子 {代码...} 注意,indicatorMargin调整的间距是两个指示器都在放大状态下的距离,图示: 在 ScaleColorPageStyle 样式下,...

UI自动化测试

2015-04-28
阅读 5 分钟
7.5k
秉着想偷懒的原则和测试这块一直存在的诟病,空闲的时把苹果提供的UIAutomation研究了一番,心想这样就可以坐等APP自己跑完所有流程然后输出 carsh 报告。但是想象很丰满,现实很骨感,UiAutomation 并没有想象中那么的完美。

关于适配

2015-04-09
阅读 2 分钟
6k
在苹果正式发布iPhone 6和iPhone 6 plus之后,对适配问题一直比较困扰,虽然项目一直用的是Autolayout,看完网上各种适配的文章后更是一团糟。

代码统计、分析工具

2015-02-09
阅读 4 分钟
12.7k
关于第三方工具的安装,推荐使用Homebrew,唐巧大神也在博客中推荐过。使用brew search xxxx来查看是否有对应的工具可以使用Homebrew安装。

Jekyll博客搭建

2015-02-05
阅读 4 分钟
10.5k
把博客平台换成Jekyll,主要原因是这款令我满意的主题,而且Jekyll搭建和操作也非常简单。下面介绍在Mac OS X环境下如何通过Jekyll搭建自己的个人博客。

UIScrollView相对布局

2015-01-04
阅读 3 分钟
14.7k
UIScrollView在IB中的相对布局一直是个令人头疼的事情,大家所遇到的不外乎下面两个问题 1. 如何正确确定contentSize大小 2. 如何设计超过一屏大小的界面

MagicalRecord配合Mantle

2014-12-18
阅读 6 分钟
8.6k
在开始之前,我们先创建一个名为MemberManaged的实体 MemberManaged.h {代码...} 后续的例子都是以此实体进行数据库的操作 快速入门 配置 {代码...} 查找数据 {代码...} {代码...} {代码...} {代码...} {代码...} 对于NSPredicate不熟悉的同学可以看我之前写的介绍NSPredicate的博文,关于其他的查找方法我就不一一介绍...

Mantle

2014-12-18
阅读 5 分钟
8.4k
回忆一下,在开发过程中有没有经常和后台人员沟通关于模型字段命名的问题,是后台人员遵守你的规则,还是你遵守他的规则,或者说各自用不同的。因为这涉及到序列化和反序列化的问题。当然,如果在字段统一的情况下,只需要一句代码就能完成从字典向模型的转换- (void)setValuesForKeysWithDictionary:(NSDictionary *)ke...

总结iOS 8和Xcode 6的各种坑

2014-12-17
阅读 4 分钟
26.7k
模拟器的路径从之前的~/Library/Application Support/iPhone Simulator移动到了~/Library/Developer/CoreSimulator/Devices/这相当的坑爹,之前运行用哪个模拟器直接选择这个模拟器文件夹进去就能找到项目 现在可好,Devices目录下没有标明模拟器的版本,图片上选中的对应的可能是iPhone 5s 7.1的 然后图片上的文件夹对...

杂记

2014-12-17
阅读 4 分钟
3.5k
回归正题,将近两年的开发过程中,我都会把学习到的一些东西记录下来,工具用的是印象笔记,这确实是个不错的学习方法。不过印象笔记并不支持markdown,网上也有很多方法让笔记以markdown语法的格式保存到印象笔记中。目前我用的是马克飞象这款工具,比较方便,专业版是收费的。

ReactiveCocoa

2014-08-12
阅读 6 分钟
11.4k
很早就开始关注ReactiveCocoa了,前段时间决定把它加入到项目中,理由如下 熟悉响应式编程(函数式编程)模式的好时机 整个框架经过0.0.1版本到2.3.1的迭代已经相对成熟 反正我现在一个开发,不用考虑其他人看不懂的情况 MVVM模式的尝试 从开始了解ReactiveCocoa到现在,有时候总感觉没有完全利用好,比如 {代码...} 这样...

ReactiveCocoa--RACDelegateProxy

2014-08-06
阅读 1 分钟
7k
上面的代码片段就明确指定self.textfield的- (BOOL)textFieldShouldReturn:(UITextField *)textField;会被执行。还需要注意的是,这里delegateProxy可能会无缘无故的被释放掉而crash,所以需要保留它,最后一句代码的作用就是这个。 虽然这个类在实际使用中作用不大,但是在RAC内部像UITextView (RACSignalSupport) UIAle...

ReactiveCocoa--RACScheduler

2014-08-06
阅读 2 分钟
5.7k
发起请求: + (RACSignal *)startEagerlyWithScheduler:(RACScheduler *)scheduler block:(void (^)(id<RACSubscriber> subscriber))block;

ReactiveCocoa--RACTuple

2014-08-06
阅读 1 分钟
6.2k
基本信息 父类 NSObject 子类 无 类含义 RAC元素类 遵循的协议 <NSCopying> <NSCoding> <NSFastEnumeration> 属性 NSUInteger count 包含元素的个数 id first; 元素数组第一个 id second; 元素数组第二个 id third 元素数组第三个 id fourth 元素数组第四个 id fifth 元素数组第五个 id last 元素数组...

NSPredicate

2014-07-30
阅读 6 分钟
10.1k
大家在平常的开发过程中多多少少都会接触到数据筛选,那势必会用到NSPredicate,这个类和我上一篇博文中提到的valueForKeyPath一样很强大。它的使用主要集中在两个方法中

NSCountedSet

2014-07-30
阅读 1 分钟
3.6k
之前群里有人讨论计算老虎机中奖等级的问题:老虎机有四列,每列四个图案,如果四个相同就是等级1,三个相同就是等级2,以此类推。说是用if else太麻烦,有没有什么比较快捷高效的方法,我首先想到的是用KVC中剔除重复数据的办法。比如:

valueForKeyPath

2014-05-31
阅读 2 分钟
13.3k
可能大家对- (id)valueForKeyPath:(NSString *)keyPath方法不是很了解。 其实这个方法非常的强大,举个例子: