1:可以为类添加新的方法,但不能添加实例变量。

2:第一,无法向类中添加新的实例变量。类别没有位置容纳实例变量。

第二,名称冲突,即类别中的方法与现有的方法重名。当发生名称冲突时,类别具有更高的优先级。你的类别方法将完全取代初始方法,从而无法再使用初始方法。有些编程人员在自己的类别方法名中增加一个前缀,以确保不发生名称冲突

#import <Foundation/Foundation.h>

@interface NSString (NumberConience)

-(NSNumber *)lengethNumber;

@end

#import "NSString+NumberConience.h"

@implementation NSString (NumberConience)

-(NSNumber *)lengethNumber

{

NSUInteger length=[self length];

return [NSNumber numberWithUnsignedInteger:length];

}

@end

NSMutableDictionary *dict=[NSMutableDictionary dictionary];

[dict setObject:[@"hello" lengethNumber] forKey:@"hello"];

[dict setObject:[@"I like Finsh" lengethNumber] forKey:@"fish"];

[dict setObject:[@"once upon a time" lengethNumber] forKey:@"time"];

iOS (catagroy)类别的更多相关文章

  1. ios category类别的使用

    ios category类别的使用 Objective-C提供了一个非常灵活的类(Class)扩展机制-类别(Category).类别用于对一个已经存在的类添加方法(Methods).你只需要知道这个 ...

  2. 关于ios object-c 类别-分类 category 的静态方法与私有变量,协议 protocol

    关于ios object-c 类别-分类 category 的静态方法与私有变量,协议 protocol 2014-02-18 19:57 315人阅读 评论(0) 收藏 举报 1.category, ...

  3. iOS 在类别里添加成员变量的方法:objc_setAssociatedObject

    今天在github上查看MJPopupViewController这个项目,发现里面用到了objc_setAssociatedObject,用来为类别添加成员变量. 我百度之后,发现有人是这样说明的: ...

  4. iOS category 类别 和 extension 扩展

    category  类别 又称为 分类 在ios项目开发中允许使用类别为现有的类添加新的方法,并不需要创建子类.通过类别我们可以动态地为现有的类添加新的方法,可以将类的定义模块化地布局到多个相关文件中 ...

  5. iOS 中使用类别简化代码开发

    最近需要一个函数,把CLLocation对象转化为NSDictionary,按照我以前的想法,我会写一个工具类,之后添加一个函数,类似这样 - (NSDictionary *)turnLocation ...

  6. iOS类别(Category)

    iOS类别(Category)与扩展(Extension) 苹果的官方文档 Category在iOS开发中使用非常频繁.尤其是在为系统类进行拓展的时候,我们可以不用继承系统类,直接给系统类添加方法,最 ...

  7. iOS类别(Category)与扩展(Extension)-b

    苹果的官方文档 Category在iOS开发中使用非常频繁.尤其是在为系统类进行拓展的时候,我们可以不用继承系统类,直接给系统类添加方法,最大程度的体现了Objective-C的动态语言特性. #im ...

  8. iOS类别(Category)和扩展(Extension,匿名类)

    Category在iOS在开发常用. 特别是对于系统扩展上课时间.我们不能继承系统类.直接添加到系统类方法,最大程度上体现Objective-C动态语言特征. #import @interface N ...

  9. iOS基础知识之类别

    本类从三个方面介绍iOS中的类别,分别是  什么是类别:类别的语法:类别的作用.具体内容如下: 一.类别: 类的补丁:当不能获取现有类的源码,但需要对现有类的功能进行补充时,这种情况下使用类别. 类别 ...

随机推荐

  1. vs2012 密匙

    旗舰版 YKCW6-BPFPF-BT8C9-7DCTH-QXGWC

  2. beantool.map2Bean(map,obj)

  3. codeforces 644A Parliament of Berland

    A. Parliament of Berland time limit per test 1 second memory limit per test 256 megabytes input stan ...

  4. cisco tftp 备份/恢复

    使用tftp服务器对cisco 3560 配置备份及恢复 Switch#copy running-config tftp:Address or name of remote host []? 192. ...

  5. Intellij IDEA 14.x 中的Facets和Artifacts的区别

    Facets和Artifacts的区别: Facets 表示这个module有什么特征,比如 Web,Spring和Hibernate等: Artifact 是maven中的一个概念,表示某个modu ...

  6. Umbraco部署到IIS中权限问题(back office没有权限新建template)

    在开发项目中,发现把基于Umbraco平台开发的网站部署到服务器的IIS之后,访问该网站的back office 在back office中增加一个template时,发送错误,提示 Access t ...

  7. C#中DllImport用法和路径问题

    DllImport是System.Runtime.InteropServices命名空间下的一个属性类,其功能是提供从非托管DLL导出的函数的必要调用信息.    DllImport属性应用于方法,要 ...

  8. installshield Basic 工程每次安装完提示重启电脑

     将Sequence中的ScheduleReboot Action的Condition清空即可. 

  9. PropertiesUtil 读取配置文件工具类

    package org.konghao.basic.util; import java.io.FileInputStream; import java.io.FileNotFoundException ...

  10. Linq使用Group By经验总结

    1.计数 var q = from p in db.Products group p by p.CategoryID into g select new { g.Key, NumProducts = ...