文档章节

Obj-C中的类别(category)

Lambda8421
 Lambda8421
发布于 2015/01/29 15:17
字数 295
阅读 20
收藏 0

/*
    类别(category)   // 为现有类添加新方法
    
    //声明一个类别
    @interface NSString (NumberConvenience) //类别名称是NumberConvenience,可以向NSString类中添加方法
    -(NSNumber *) lengthAsNumeber;
    @end
    
    @implementation NSString (NumberConvenience)
    -(NSString*) lengthAsNumber
    {
        unsigned int length = [self length];
        return ([NSString numberWithSignedInt:length]);
    }
     */
   // @end
    //局限性
    //1. 无法向类中添加新的实例变量,类别没有位置容纳变量
    //2. 名称冲突时(类别中的方法与现有的方法重名),类别具有更高的优先级。类别方法将完全取代初始方法,初始方法不再可用。
    
    //委托是一种对象,另一个类的对象会要求委托对象执行它的某些操作
    // 例如:当AppKit类的NSApplication启动时,它会询问其委托对象是否应该打开一个无标题窗口
    //      NSWindow类的对象询问它们自己的委托对象是否应该允许关闭某个窗口
    // 还可以编写委托对象并将其提供给其他一些对象,通常是提供给Cocoa生成的对象。通过实现特定的方法,你可以控制Cocoa中对象的行为



© 著作权归作者所有

Lambda8421
粉丝 10
博文 121
码字总数 121640
作品 0
闸北
程序员
私信 提问
Objective_C扩展机制学习

学obj_c已有一年时间了,开发iphone也有一年时间了。首先学习obj_c的时候,是赁着c/c++的基础,所学的知识是按c/c++的方式去学习,其实obj_c是c的超集当时一点也没体会到,其精髓也是完全没有...

长平狐
2012/08/13
116
0
10个Objective-C基础面试题,iOS面试必备

苹果的iOS系统越来越火了,苹果这个金矿平台也吸引了大量的iOS开发者参与其中,这也促使越来越多的公司向iOS应用开发方向靠拢,因此市场上 对iOS开发的人才需求自然也非常巨大。如果你准备去...

ruby_chen
2013/07/15
56.3K
18
【Objective-C】探索Category底层的实质

  无论一个类设计的多么完美,在未来的需求演进中,都有可能会碰到一些无法预测的情况。那怎么扩展已有的类呢?一般而言,继承和组合是不错的选择。但是在Objective-C 2.0中,又提供了cat...

零零圈圈
07/13
0
0
C++模板之特化与偏特化详解

C++函数模板与类模板实例解析C 语言脚本之家 http://www.jb51.net/article/53746.htm C++关键字typename的深入理解C 语言脚本之家 http://www.jb51.net/article/37565.htm 深入分析:C++模板究...

zray4u
2016/07/18
26
0
category 类别 extension扩展

一 category 类别是一种为现有的类添加新方法的方式。 利用Objective-C的动态运行时分配机制,Category提供了一种比继承(inheritance)更为简洁的方法来对class进行扩展,无需创建对象类的子...

xrk
2014/01/25
58
0

没有更多内容

加载失败,请刷新页面

加载更多

黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
5
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
6
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
4
0
Django的ChoiceField和MultipleChoiceField错误提示,选择一个有效的选项

在表单验证时提示错误:选择一个有效的选项 例如有这样一个表单: class ProductForm(Form): category = fields.MultipleChoiceField( widget=widgets.SelectMultiple(), ...

编程老陆
昨天
7
0
Vue核心概念及特性 (一)

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。 > 特点: 易用,灵活,高效,渐进式框架。 > 可以随意组合需要用到的模块 vue + components + vue-router + vuex + v...

前端优选
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部