key-value初始化property

最近在做项目的过程中,有用到以key-value的形式初始化对象,常规做法就是实现一份儿解析根据不同的映射初始化不同的变量。但由于我们需要让使用方更大的简化调用方式,所以引入了该方法来实现这些功能。其实就是用了一些oc语言的特性来处理这些事情。 为什么提出 由于在处理一些特有逻辑的时候,我们需要用一些key-value的形式或者配置文件来初始化对象,而传统的encode和decode方法则需要在类里边根据自己的实现来实现一份儿代码。所以我们需要一个独立的模块来出来该类问题。要么是不方便,要么是代码过于分散不便管理 从 0 到 1 我们可以定制一个映射规则,这篇文章内的映射规则是这样的 以array的形式传入要初始化的参数,参数的item为一个map类型。map的定义格式为ke...
点我阅读更多...

Unix的特点

Unix的特点:(30多年过去了,这些东西早已变成经典) Everything (including hardware) is a file 所有的事物(甚至硬件本身)都是一个的文件。 Configuration data stored in text 以文本形式储存配置数据。 Small, single-purpose program 程序尽量朝向小而单一的目标设计 Avoid captive user interfaces 尽量避免令人困惑的用户接口 Ability to chain program together to perform complex tasks 将几个程序连结起来,处理大而复杂的工作。 摘抄自 陈皓的 酷壳coolshell;
点我阅读更多...

apple评论页面地址和升级提示

最近发现之前构造的iOS评论页面不好用了,今天收集了下,现在备忘于此: NSString *appstoreReview = nil; if (SYSTEM_VERSION_IS_OVER_IOS7){ appstoreReview = @"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=[appid]"; }else { appstoreReview = @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUse...
点我阅读更多...

Converting Your App to a 64-Bit Binary

这里概括一下,创建同时支持32-bit和64-bit运行时环境app步骤 安装Xcode 5.0.1 打开我们的工程.Xcode提示你升级你的工程,升级过程中,会产生一些新的错误和警告。这些错误和警告在我们编译64-bit的app是至关重要的 将工程的最低支持iOS版本升级至5.1.1.如果我们支持的系统版本低于5.1,我们将不能构建64-bit的工程 将build setting->Architectures改成“Standard Architectures (including 64-bit).” 升级应用支持64-bit运行时环境虽然编译错误和警告可以帮助我们简化这项工作,但是不能帮助我们全部解决所以问题,我们可以i这份文档提到的注意点针对我们的代码...
点我阅读更多...

Major 64-Bit Changes

数据类型的变化 在C和Objective-C语言里,每个平台(编译器)都自己定义了内建数据类型的一些内存属性(大小,对齐方式), 并没有一个统一的标准。这样做的好处是在于在语言标准的的严格定义下,每个平台可以让数值在操作系统和硬件下更好的适配。 iOS 64-bit 运行时也对很多内建数据类型的大小做了改变。在上层,很多 Cocoa Touch frameworks 使用的数据类型也做了改变。 ILP32和LP64 32-bit运行时表示为ILP32 其中,I表示整型;L表示长整型;P代表指针;ILP32表示在32-bit运行是里,整型、长整型、指针时32-bit长度 同理LP64则表示在64-bit运行时里 整型是32-bit长度;长整型、指针为64-bit长度 下表描述了...
点我阅读更多...

About 64-Bit Cocoa Touch Apps

随着桌面操作系统由32-bit到64-bit的过渡,64-bit的app的出现也在被OS的发展驱动着。现在,iOS的系统架构和桌面系统的架构也有很多相同的地方。从iOS7的A7处理器开始,我们就可以build支持64-bit处理器的app了。当app支持了64bit后在同样的机型上可以获取更高的性能 简介 apple 的A7处理器支持两个不同的指令集。一个是由apple早前处理器支持的32bit ARM指令集;另一个则是一个全新的64-bit ARM架构处理器。64-bit架构最重要的改进不局限于支持更大的地址空间,更是提供一个全新的The 64-bit architecture supports a new and streamlined instruction set that ...
点我阅读更多...

iOS特性修饰符(strong、weak...)

iOS特性在修饰的时候我们经常会和下面几个修饰符打交道 strong、retain、assign、unsafe_unretained、weak、nonatomic、atomic、copy 其中与内存有关的有strong、retain、assign、unsafe_unretained、weak,在使用过程中稍有不慎就会陷入内存泄露,搞清楚他们的作用很有必要 在描述之前我们需要补充说明一些概念 //修饰变量我们用__strong形式的修饰符 __strong id a = nil; __unsafe_unretained id b = nil; __weak id c = nil; //修饰特性我们用不带下划线的,表示一样 @property (nonato...
点我阅读更多...