desgard.com

浅谈 block(1) - clang 改写后的 block 结构

这几天为了巩固知识,从 iOS 的各个知识点开始学习,希望自己对每一个知识理解的更加深入的了解。这次来分享一下 block 的学习笔记。 block 简介 block 被当做扩展特性而被加入 GCC 编译器中的。自从 OS X 10.4 和...

从经典问题来看 Copy 方法

在初学 iOS 的时候,可能会被灌输这么一个常识,切记 NSString 的 property 的修饰变量要写作 copy ,而不是 strong,那么这是为什么? 经典面试题:为什么 NSString 类型成员变量的修饰属性用 copy 而不是...

objc_msgSend消息传递学习笔记 - 对象方法消息传递流程

在Effective Objective-C 2.0 - 52 Specific Ways to Improve Your iOS and OS X Programs一书中,tip...

浅谈Associated Objects

俗话说:“金无足赤,人无完人。”对于每一个Class也是这样,尽管我们说这个Class的代码规范、逻辑清晰合理等等,但是总会有它的短板,或者随着需求演进而无法订制实现功能。于是在Objective-C 2.0中引入了category这个特性,用以动态地为已有类添加新行为。面向对象的设计用来描述事物的组成往往是使用Class中的属性成员,这也就局限了方法的广度(在官方文档称之为An otherwise notable shortcoming for Objective-C,译为:Objc的一个显著缺陷)。所以在Runtime中引入了Associated Objects来弥补这一缺陷。 另外,请带着以下疑问来阅读此文: Associated Objects 使用场景。 Associated Objects 五种objc_AssociationPolicy有什么区别。...

Drip Into A River · Part II

这篇是关于水滴汇集特效的系列二,如果没有看过系列一,可以点击这里查看。 “振动波”效果 分解一下震动效果的全过程。 稍加注意,整个动画需要由4各部分组成: 效果一:整体视图先变小; 效果二:瞬间变大,然后变小并带有弹簧效果; 效果三:在效果二的同时,复制视图,将复制的视图逐渐变大,并修改其alpha值; 效果四:在效果二、效果三的同时,提示用户处于已完成的状态 在排除效果四的情况下,其余效果我们都可以通过UIView Animation来实现。我先给出代码。 #pragma mark - 结束动画 -...

Drip Into A River · Part I

Sweet iOS Animation Plan 给自己制定了一个很长远的动效学习计划,Sweet-iOS-Animation。其实就是促进喜欢写动效的同学,多多实现dribbble上的优秀作品。我也会定期更新原型图作品表单,收集优秀的原型图。如果大家对此学习计划也有兴趣,可以从这里查看内容。 以上是对于学习计划的简介,下面开始这次动效分析。 “水滴汇集”下载按钮概念图 在dribbble上发现一个创意很好的下载按钮的创意,首先要感谢原型图作者SamuraiChen分享原型图Animation on a concept draft downloads。我将这个特效起名为Drip Into a...