App如何适应 iPhone 5s/6/6 Plus 三种屏幕的尺寸?
初代 iPhone2007 年,初代 iPhone 发布,屏幕的宽高是 320 x 480 像素。下文也是按照宽度,高度的顺序排列。这个分辨率一直到 iPhone 3GS 也保持不变。那时编写 iOS 的 App(应用程序),只支持绝对定位。比如一个按钮(x, y, width, height) = (20, 30, 40, 50),就表示它的宽度是 40 像素,高度是 50 像素,放在(20, ...
ReactiveCocoa函数响应式编程在IOS平台下的实践
本文介绍了函数响应式编程思想,通过信号来记录值的变化,同时信号可以被叠加、分割或合并,来处理复杂逻辑,从而实现函数响应式编程。同时本文还介绍了在IOS平台下基于函数响应式编程思想的第三方开源库ReactiveCocoa及其实践。除了介绍ReactiveCocoa的具体编程实践,还介绍了MVVM设计模式,它不同于传统的MVC设计模式,具有低偶和、可重用性、独立开发、可测试性等优点。关键词 函数响应式...
iOS category解析
category的真面目objc所有类和对象都是c结构体,category当然也一样,下面是 runtime 中category的结构:struct_category_t{
constchar*name;//1
struct_class_t*cls;//2
conststruct_method_list_t*instance_methods;//3
conststruct_method_l...
Swift开发的几个小技巧
正所谓掌握一样技术最好的办法就是用它来做一个东西,于是这段时间的实战让我对 Swift 的理解更深了一层,也积累了一些使用技巧。今天就分享一则:如何正确地定义一个类变量(和类常量)。Swift 语言对于无论是静态语言过来还是动态语言过来的开发者来说,都有点点不适应,很多问题的解决思路不能用已经习以为常的方法去做。如何正确的定义一个类变量(和类常量)Swift 支持用 class func 来修饰一...
Objective-C属性修饰符strong和copy的区别
strong和copy的区别问题描述在定义一个类的property时候,为property选择 strong 还是 copy 特别注意和研究明白的,如果property是NSString或者NSArray及其子类的时候,最好选择使用copy属性修饰。为什么呢?这是为了防止赋值给它的是可变的数据,如果可变的数据发生了变化,那么该property也会发生变化。代码示例还是结合代码来说明这个情况@int...
Objective-C的陷阱与缺陷
Objective-C是一个强大而且非常有用的语言,但是同样也是有一点危险的。这次主题是受到一篇 有关C++陷阱 的文章启发,来聊聊Objective-C和Cocoa中的陷阱。简介我将和Horstmann使用同样的定义:陷阱是能够编译、链接、运行,但却不会按你所预期地去执行的代码。他提供了一个例子,这段代码在Objective-C中和在C++中同样都是有问题的:spanstyle=font-fam...