文档章节

OC高效率52之勿在分类中声明属性

阿元
 阿元
发布于 2016/03/02 17:03
字数 168
阅读 5
收藏 0
点赞 1
评论 0
#import <Foundation/Foundation.h>

@interface NSCalendar (EOC_Additions)
//属性只是定义实例变量及相关存取方法所用的“语法糖”,表达的意思是:类中有数据在支撑它
@property (nonatomic , readonly , strong) NSArray *eoc_allMonths;
//本例中应该直接声明一个方法,用以获取月份名称列表
-(NSArray *)eoc_allMonths;
@end

#import "NSCalendar+EOC_Additions.h"
/**
 *  1.分类的目的在于扩展类的功能,而非封装数据。
 *  2.有时只读属性可以在分类中使用。
 *  3.把封装数据所用的全部属性都定义在主接口里。
 */
@implementation NSCalendar (EOC_Additions)
-(NSArray *)eoc_allMonths{
    if ([self.calendarIdentifier isEqualToString:NSGregorianCalendar]){
        return @[@"January",@"July",@"June",@"May",@"",@""];
    }else{
        return nil;
    }
    
}
@end


© 著作权归作者所有

共有 人打赏支持
阿元
粉丝 5
博文 153
码字总数 95996
作品 0
浦东
程序员
编写高质量iOS与OS X代码的52个有效方法(上篇)

第一章 熟悉Objective-C 1. 了解Objective-C语言的起源 Objective-C(以下简称OC)是C语言的超集,相比C语言多了面向对象的特性。OC使用动态绑定的消息结构,换句话说,只有在运行时才会检查...

凝望向北 ⋅ 2017/04/06 ⋅ 0

runtime应用场景

一、runtime简介 RunTime简称运行时。OC就是,也就是在运行时候的一些机制,其中最主要的是消息机制。对于C语言,。对于OC的函数,属于,在编译的时候并不能决定真正调用哪个函数,只有在真正...

刀客445 ⋅ 2016/05/20 ⋅ 0

OC-基础总结(二)

OC基础总结 重新回过头看这些基础知识,对许多知识点都有新的认识,拥有坚实的基础才能更快的成长。 OC内存管理 - 基础与MRC 内存管理概述 内存管理 内存的作用:存储数据。 1). 如何将数据存...

xx_cc ⋅ 2017/05/01 ⋅ 0

《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法》阅读笔记

前言:第一次阅读此书大概是是一年半之前,在网上找到电子版,也就临时看了一晚上,之后就没有再涉猎。八月份决定抽出半个月左右的时间认真阅读下这本书(但是由于这两周一直在准备公司项目的...

Samson_Xu ⋅ 2017/09/13 ⋅ 0

oc中分类 扩展 协议的使用及区别

一、分类 1、适用范围 当你已经封装好了一个类(也可能是系统类、第三方库),不想在改动这个类了,可是随着程序功能的增加需要在类中增加一个方法,这时我们不必修改主类,只需要给你原来的...

BobooO ⋅ 2015/03/10 ⋅ 0

Category中的方法为什么会覆盖原来类中的方法?

常见面试题:介绍一下分类,能用分类做什么?内部是如何实现的?它为什么会覆盖掉原来的方法? 深入了解Category 我们都知道OC代码执行时会先转成CC++代码,OC对象转成对应的结构体; Catego...

coderLZ ⋅ 05/09 ⋅ 0

Runtime那些事

Runtime那些事 前言 从字面意思看,就是运行时。但是这个运行时究竟什么意思?可以把它理解成:不是在编译期也不是在链接期,而是在运行时。那究竟在运行期间做了什么呢?按照苹果官方的说法...

kakarotto ⋅ 01/08 ⋅ 0

iOS OC 避免在分类中声明属性

一 描述 尽管从技术上来说,分类里可以声明属性,但是这种做法还是要尽量避免,原因在于,除了 class-continuation 分类(延展)之外,其他分类都无法向类中新增实例变量,因此,他们无法把实...

卧龙小 ⋅ 2015/07/12 ⋅ 0

iOS 面试全方位剖析 -- OC语言特性篇 (一)

分类 & 关联对象 & 扩展 & 代理 (一) 通知 KVO KVC 属性关键字. (二) 分类 你用分类都做了哪些事 ? 特点 讲特点是为了能更好的和扩展区分开来 分类中都可以添加哪些内容 分类的实现机制 同一...

PetitBread ⋅ 05/14 ⋅ 0

OC语言自学《十二》---- OC(block、@property)

一、block 如何定义block变量 int (^sumblock)(int,int) 如何利用block封装代码 //有参数,无返回值^(int a, int b){ }; //没有参数,没有返回值 ^{ } block访问外部变量 block内部可以访问外...

罗眯眯 ⋅ 2014/04/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring Email

使用spring发Email其实就是使用spring自己封装携带的一个javamail.JavaMailSenderImpl类而已。这个类可以当一个普通的java对象来使用,也可以通过把它配置变成spring Bean的方式然后注入使用...

BobwithB ⋅ 25分钟前 ⋅ 0

spark 整理的一些知识

Spark 知识点 请描述spark RDD原理与特征? RDD全称是resilient distributed dataset(具有弹性的分布式数据集)。一个RDD仅仅是一个分布式的元素集合。在Spark中,所有工作都表示为创建新的...

tuoleisi77 ⋅ 28分钟前 ⋅ 0

思考

时间一天天过感觉自己有在成长吗?最怕的是时光匆匆而过,自己没有收获!下面总结下最近自己的思考。 认识自己 认识另一个自己,人们常说要虚心听取别人意见和建议。然而人往往是很难做到的,...

hello_hp ⋅ 29分钟前 ⋅ 0

IT行业的变革就像世界杯德国对战墨西哥一样难以预测[图]

最近在观看世界杯,尤其是昨天的比赛,上一届卫冕冠军德国队居然0:1告负墨西哥,这创造了历史,首先是墨西哥从来没赢过德国队,其次是德国队36年来首站没输过,再差也是打平,而这次,德国队...

原创小博客 ⋅ 48分钟前 ⋅ 0

解决CentOS6、7,/etc/sysconfig/下没有iptables的问题

一、Centos 6版本解决办法: 1.任意运行一条iptables防火墙规则配置命令: iptables -P OUTPUT ACCEPT 2.对iptables服务进行保存: service iptables save 3.重启iptables服务: service ...

寰宇01 ⋅ 58分钟前 ⋅ 2

数据库备份和恢复

备份:mysqldump -u root -p 数据库>磁盘路径 恢复:mysql -u root -p 数据库<sql脚本的磁盘路径

anlve ⋅ 今天 ⋅ 0

发生了什么?Linus 又发怒了?

在一个 Linux 内核 4.18-rc1 的 Pull Request 中,开发者 Andy Shevchenko 表示其在对设备属性框架进行更新时,移除了 union 别名,这引发了 Linus 的暴怒。 这一次 Linus Torvalds 发怒的原...

问题终结者 ⋅ 今天 ⋅ 0

在树莓派上搭建一个maven仓库

在树莓派上搭建一个maven仓库 20180618 lambo init 项目说明 家里有台树莓派性能太慢。想搭建一个maven私服, 使用nexus或者 jfrog-artifactory 运行的够呛。怎么办呢,手写一个吧.所在这个...

林小宝 ⋅ 今天 ⋅ 0

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部