Effective Objective-C 2.0之Note.01】的更多相关文章

1.在类的头文件中尽量少引入其他头文件 除非确有必要,否则不要引入头文件.一般来说,应在某个类的头文件中使用向前声明来提及别的类,并在实现文件中引入那些类的头文件.这样做可以尽量降低类之间的耦合(coupling). 有时无法使用向前声明(@class 类名)(.h文件在某个类引入类对象,.m实现#import类名),比如要声明某个类遵循一项协议.这种情况下,尽量把“该类遵循某协议”的这条声明移至“class-continuation分类”中.如果不行的话,就把协议单独放在一个头文件中,然后将其…
“类族”(class cluster)是一种很有用的模式(pattern),可以隐藏“抽象基类”(abstract base class)背后的实现细节.Objective-C的系统框架中普遍使用此模式. 创建类族 现在举例来演示如何创建类族.假设有一个处理雇员的类,每个雇员都有“名字”和“薪水”这两个属性,管理者可以命令其执行日常工作.但是,各种雇员的工作内容却不同.经理在带领雇员做项目时,无须关心每个人如何完成其工作,仅需指示其开工即可. 首先要定义抽象基类: typedef NS_ENUM…
用Objective-C等面向对象语言编程时,“对象”(object)就是“基本构造单元”(building block),开发者可以通过对象来存储并传递数据.在对象之间传递数据并执行任务的过程就叫做“消息传递”(Messaging). “属性”(property)是Objecive-C的一项特性,用于封装对象中的数据. 当应用程序运行起来以后,为其提供相关支持的代码叫做“Objective-C运行期环境”(Objective-C runtime),它提供了一些使得对象之间能够传递消息的重要函数…
1.多用类型常量,少用#define预处理指令 不要用预处理指令定义常量.这样定义出来的常量不含类型信息,编译器只是会在编译前据此执行查找与替换操作.即使有人重新定义了常量值,编译器也不会产生警告信息,这将导致应用程序中的常量值不一致. 在实现文件中使用static const来定义“只在编译单元内可见的常量”(translation-unit-specific constant).由于此类常量不在全局符号表中,所以无须为其名称加前缀. 在头文件中使用extern来声明全局常量,并在相关实现文件…
swift 语言是苹果公司在2014年的WWDC大会上发布的全新的编程语言.Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题.Swift语言采用安全编程模式,且引入了多种新功能,使得编程工作更加简便,灵活! 2015年6月9日苹果又一次给所有开发之者带来了一个惊喜,那就是今年年底swift讲开源,者队iOS开发着来说无疑是一个值得兴奋的消息,可是就在这短短的几个月里面swift吸引了越来越多的开发者去学习,不仅仅是iOS开发者. 然而,在我们学习和使用swi…
<题目链接> 题目大意: 一个n*n的01矩阵,满足以下条件 1.X12+X13+...X1n=12.X1n+X2n+...Xn-1n=13.for each i (1<i<n), satisfies ∑Xki (1<=k<=n)=∑Xij (1<=j<=n). 另给出一个矩阵C,求∑Cij*Xij(1<=i,j<=n)的最小值. 解题分析: 显然,题目给的是一个0/1规划模型. 解题的关键在于如何看出这个模型的本质. 3个条件明显在刻画未知数之…
近期開始用cocos2dx 3.0做东西,略有心(cao)得(dian),略微作下记录吧. v3.0相对v2.2来说,最引人注意的,应该是对触摸层级的优化.和lambda回调函数的引入(嗯嗯.不枉我改了那么多类名. 话说,每次cocos2dx大更新.总要改掉一堆类名函数名). 这些特性应该有不少人研究了,所以今天说点跟图片有关的东西. v3.0在载入图片方面也有了非常大改变,仅仅只是是藏在水下的,不到出问题的时候就不easy发觉. 简单来说,v2.2和之前的版本号,在iOS上,cocos2dx是…
需要交互的分布式系统之间通过消息来传递有意义的信息.消息是通信框架的核心.离开了消息,再谈通信框架就没有任何意义,所以,消息是ESFramework中一个最核心的概念. 一. 消息的类别 在具体的应用中,我们需要对消息的类别进行定义,这有助于我们分析和讨论问题.消息大致可以分为4个类别:请求消息.回复消息.报告.通知.P2P消息. 在Client/Server模式中,出现最多的便是请求消息和回复消息.这两种类别的消息非常容易理解. 报告指的是Client/Server模式中客户端发送给服务端的消…
1.计算机基础. 2.python历史. 宏观上:python2 与 python3 区别: python2 源码不标准,混乱,重复代码太多, python3 统一 标准,去除重复代码. 3.python的环境. 编译型:一次性将所有程序编译成二进制文件. 缺点:开发效率低,不能跨平台. 优点:运行速度快.like:C,C++等等. 解释型:当程序执行时,一行一行的解释. 优点:开发效率高,可以跨平台. 缺点:运行速度慢.like:python ,php,等等. 4.python的发展. 5.p…
一.SpringBoot 框架的特点 1.SpringBoot2.0 特点 1)SpringBoot继承了Spring优秀的基因,上手难度小 2)简化配置,提供各种默认配置来简化项目配置 3)内嵌式容器简化Web项目,简化编码 Spring Boot 则会帮助开发着快速启动一个 web 容器,在 Spring Boot 中,只需要在 pom 文件中添加如下一个 starter-web 依赖即可. <dependency> <groupId>org.springframework.b…