文档章节

OC高效率52之使用“class-continuation分类”隐藏实现细节

阿元
 阿元
发布于 2016/03/02 23:07
字数 195
阅读 30
收藏 0
#import <Foundation/Foundation.h>

@interface EOCPerson : NSObject
@property (nonatomic , copy , readonly) NSString *firstName;
@property (nonatomic , copy , readonly) NSString *lastName;
-(id)initWithFirstName:(NSString *)firstName lastName:(NSString *)lastName;
@end


//continuation n. 继续;续集;延长;附加部分
/**
 *  class-continuation  
 *  唯一能声明实例变量的分类
 *  此分类没有特定的实现文件,其中的方法都应该定义在类的主实现文件里
 *  处理与C++混编时,隐藏C++文件
 *  扩充属性,封装在类中的数据就由实例本身来控制,而外部代码则无法修改其值
 *  视为私有的协议也应该写在class-continuation类里
 */
#import "EOCPerson.h"
@interface EOCPerson ()//<EOCSecretDelegate>
{
    NSString *_anInstanceVariable;
}
@property (nonatomic , copy , readwrite)NSString *firstName;
@property (nonatomic , copy , readwrite)NSString *lastName;
-(void)p_privateMethod;
@end

@implementation EOCPerson
-(id)initWithFirstName:(NSString *)firstName lastName:(NSString *)lastName{
    return nil;
}
-(void)p_privateMethod{
    
}
@end


© 著作权归作者所有

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

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

还是不够辣
2017/04/06
0
0
iOS OC 避免在分类中声明属性

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

卧龙小
2015/07/12
0
0
《Effective Objective-C 2.0》读书笔记

思维导图.png 前言 好长时间没有更新了,年后把《Effective Objective-C 2.0》这本书看完了,上面👆是用思维导图画出来的整本书的内容。下面把书中一些重要的和难理解的知识点整理一下,不...

_誌念
03/25
0
0
OC语言中容易忽略却必须知道的二三事,日常整理~不断补充中···

1.最熟悉的陌生人 ①超类:即父类 ②向前声明 :@class ③(1)实例变量:定义在类中但在任何方法之外。 点语法的实质:调用set和get方法 懒加载中不能使用点语法:懒加载本身是在get方法中实...

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

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

Samson_Xu
2017/09/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0
20180818 上课截图

小丑鱼00
今天
1
0
Springsecurity之SecurityContextHolderStrategy

注:下面分析的版本是spring-security-4.2.x,源码的github地址是: https://github.com/spring-projects/spring-security/tree/4.2.x 先上一张图: 图1 SecurityContextHolderStrategy的三个......

汉斯-冯-拉特
今天
1
0
LNMP架构(Nginx负载均衡、ssl原理、生成ssl密钥对、Nginx配置ssl)

Nginx负载均衡 网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。有时...

蛋黄_Yolks
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部