编写高质量iOS与OS X代码的52个有效方法上

本文详细介绍了Objective-C编程的基础知识,包括消息结构、属性、对象、消息转发机制等核心概念,并提供了实际应用示例。文章还强调了在类设计、变量使用、属性管理等方面的最佳实践。

第一章 熟悉Objective-C

1.了解起源

oc 使用“消息结构”,运行时执行的代码由运行环境决定,而函数调用的语言,由编译器决定。

在oc,有部分变量不算oc对象,如CGRect.

2.在类的头文件中尽量少引入其他头文件

将引入头文件的时间尽量延后,可以减少类的使用者所需引入的头文件的数量。

一般的做法是:

#Person.h

@class A

#Person.m

#import A

但是如果你的类继承自某个类,或者有代理方法,就必须放在.h


3.多使用字面量语法

这个语法方便好用,但是我还是有点不习惯。一般数组,字典的我用它。

如 NsArray *animals = @[@"cat",@"dog"];常规写法我就不写了。

取数组下标: NSString *dog = animals[1];

NSDictionNary *dic = @{@"dog":@"first",@"cat":@"second"};

NSString *dog = dic[@"first"];

局限性:字面量的元素不能为nil,而且除了字符串以为必须为Foudation对象。并且都是不可变的 ,如需可变 后面需要加 mutableCopy.

4.多用类型常量,少用#define

预处理不含类型信息,在.m中加入static const,定义只在编译单元可见。

5.用枚举表示状态,选项

第二章:对象,消息,运行期

6.理解属性

nonatmic,atomic,非原子性。表示线程不安全。atomic有锁机制。但是耗费性能。所以,ios中还是用nonatmic

assign,weak 区别:assign修饰常量。weak 会 set nil.

strong,copy.一般字符串用copy.

其他的我就不说了。

7.对象内部尽量直接访问实例变量

10.关联属性

12.理解消息转发机制

消息转发分为2个阶段:1.征询接受者,所属的类看其是否能够动态添加方法,以处理当前这个@selector,这叫做动态方法解析,2.看看有没有其他对象能处理这条消息,若有,则运行期系统会把消息转给那个对象,于是消息转发过程结束。否则,启动完整的转发机制,运行期系统会把与消息有关的全部细节封装到NSInvocation.再给接收者最后一次机会,令其设法解决当前未处理的消息。

动态方法解析:

对象在收到无法解读的消息后,会调用:

+(BooL)resloveInstanceMethod:(SEL)selector

备援接收者

-(id)forwardingTargetForSelctor:(SEL)selector


完整的消息转发机制

创建NSInvocation对象,把未处理的消息有关的全部细节都封于其中,此对象包含选择子,目标,及参数。

实现此方法时,若发现某调用操作不应由本类处理,则需调用超类的同名方法。直至NSObject.如果最后调用了NSObject方法,那么该犯法会继续调用“doesNotRecongnizeSelector”.

-(void)forwardInvoation:(NSInvocation*)invocation


内容概要:本文介绍了一项创新性未发表的研究,即利用多元宇宙优化算法(Multiverse Optimizer, MVO)对分时电价下的需求响应综合能源系统调度问题进行建模求解,旨在实现能源系统的经济性、高效性可持续性运行。该研究构建了包含多种能源设备(如光伏、风机、燃气轮机、储能系统等)及可调节负荷的综合能源系统模型,充分考虑了用户侧的需求响应行为在分时电价机制下的响应特性,通过MVO算法对系统运行成本、能源利用率、碳排放等多目标进行协同优化,实现了日前调度计划的智能决策。研究还提供了完整的MATLAB代码实现,便于研究人员复现实验、验证算法性能,并为进一步研究提供可靠的仿真基础。; 适合人群:具备一定电力系统、优化算法及MATLAB编程基础的科研人员、研究生以及从事能源互联网、综合能源系统规划运行的技术工程师。; 使用场景及目标:① 学习并掌握多元宇宙优化算法在复杂能源系统调度中的具体应用方法;② 研究分时电价机制如何通过需求响应引导用户参电网互动,实现削峰填谷;③ 实现综合能源系统(IES)中冷、热、电、气等多种能源的协同优化调度,以降低运行成本、提高新能源消纳能力和系统可靠性;④ 为相关领域的学术研究提供可复现的代码实例和仿真平台。; 阅读建议:此资源以MATLAB代码为核心载体,深入剖析了算法应用系统建模的全过程。建议读者在学习时,不仅应关注代码的实现细节,更要理解其背后的数学模型、优化目标设定和约束条件的物理意义。建议结合文档中的模型描述,逐步调试代码,观察不同参数和场景下的优化结果,从而深刻掌握综合能源系统优化调度的设计思想关键技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值