`

Objective-c 的一些学习3 Category

 
阅读更多
Category的用途,在对类不继承的前提下,对类扩展、对类方法的重写。优点是可以不同的程序员写对应的扩展在不同的文件里,然后引用的方式互不干扰,比继承要方便。

栗子:

NSString+URLFormat.h文件:
#import <Foundation/Foundation.h>

@interface NSString (URLFormat)

- (NSString *)stringByURLFormat:(NSDictionary *)dictionary;

@end



NSString+URLFormat.m文件
#import "NSString+URLFormat.h"

@implementation NSString (URLFormat)

- (NSString *)stringByURLFormat:(NSMutableDictionary *)dictionary{
    if([dictionary count]==0)
        return self;
    NSMutableString* url =  [[NSMutableString alloc] initWithString:self];
    [url appendString:@"?"];
    NSEnumerator * enumerator =  [dictionary keyEnumerator];
    id obj;
    while( obj = [enumerator nextObject]) {
        NSString* val = [dictionary objectForKey:obj];
        NSString* param =(NSString*)obj;
        if (val) {
            if(![url hasSuffix:@"?"]){
                [url appendFormat:@"&"];
            }
            [url appendFormat:@"%@=%@", param, val];
        }
    }
    if([url hasSuffix:@"?"])
       [url deleteCharactersInRange:NSMakeRange (url.length-1, 1)];
    
    return url;
}

@end
0
7
分享到:
评论

相关推荐

    Objective-c语言学习-快速入门完整版完整版

    本教程将通过一系列的PPT课件,引导你快速入门Objective-C,这些课件覆盖了从基础到高级的重要概念,是《iPhone与iPad开发实战》一书中关于语言学习的前半部分内容。 首先,我们从"第一讲 Objective-C概述"开始,这...

    Objective-C编程全解最新版.pdf.zip

    以上就是Objective-C编程的一些主要知识点,通过深入学习和实践这些概念,开发者可以熟练地创建高质量的iOS和macOS应用程序。"Objective-C编程全解最新版.pdf"教程应该覆盖了这些内容,为初学者提供了详尽的指导。

    《Objective-C基础教程》中文版(含源代码)

    3. **Objective-C语法**:深入解析Objective-C的语法特性,如消息传递、方法定义、属性声明、类别(Category)和协议(Protocol)等,以及如何使用这些特性编写代码。 4. **Foundation框架**:介绍Objective-C开发...

    Objective-C.2.0 中文版.pdf & Objective-C.chm

    这个压缩包包含两个关于Objective-C的学习资源:"Programming In Objective-C.chm" 和 "Programming in Objective-C.2.0 中文版.pdf"。这两个文件分别以CHM(Microsoft帮助文档格式)和PDF(便携式文档格式)呈现,...

    objective-c学习资料

    以下将详细阐述Objective-C的一些关键概念和知识点。 1. **Objective-C的起源与语法特性**: Objective-C是在C语言基础上扩展的,它引入了消息传递机制和类的概念,使得C语言具备了面向对象的能力。Objective-C的...

    Objective-C基础教程(Learn Objective-C)随书源码下载

    本教程的源码下载是为了辅助学习Objective-C基础知识而准备的。在深入探讨这些源码之前,让我们先了解一下Objective-C的关键概念。 1. **面向对象编程基础**: Objective-C是C语言的超集,它扩展了C语言,加入了...

    Objective-C基础教程源代码 Learn objective-C on the Mac Mark Dalrymple著书

    8. **Category与Extension**:Objective-C允许通过Category来扩展已有类的功能,而Extension则可以为类提供私有实现。 9. **NSPredicate和KVC/KVO**:NSPredicate用于过滤和查询数据,Key-Value Coding (KVC)和Key-...

    学习Objective-C--第一天.doc

    总的来说,Objective-C 是一个强大且灵活的语言,虽然现在 Swift 已成为苹果官方推荐的开发语言,但 Objective-C 仍然在许多现有项目中广泛使用,而且理解其基本概念对学习 Swift 也非常有帮助。通过逐步学习和实践...

    objective-c编程 第2版=objective-c program 2nd edition_13889311

    1. **基础语法**:学习Objective-C首先需要了解它的基本语法,包括变量定义、数据类型、运算符、流程控制语句等。此外,还会涉及Objective-C中的特殊语法,如nil和NULL的区别、实例变量和属性的使用。 2. **类与...

    Objective-C2.0程序设计习题官方答案

    3. **类别(Category)**:Objective-C允许通过类别给已有的类添加方法,这是扩展类功能的一种方式。了解如何使用`@interface`定义类别并添加方法。 4. **协议(Protocol)**:协议类似于Java或C#的接口,定义了一...

    这是一个基于Objective-C语言的基础案例集。旨在用于给初学者快速了解Objective-C语言的语法。.zip

    以下是一些关于Objective-C的关键知识点: 1. **类与对象**:Objective-C是基于Smalltalk的,它引入了类(Class)的概念,这是创建对象(Object)的蓝图。对象是数据和方法的封装,它们通过消息传递来相互交流。 2...

    Learn Objective-C 中文版 v2

    这个"Learn Objective-C 中文版 v2"的学习资源可能是针对那些希望深入理解Objective-C语言特性和编程实践的开发者设计的。下面我们将详细探讨Objective-C的关键知识点。 1. **面向对象编程基础**: - **类与对象**...

    objective-c的一些代码

    总之,"objective-c的一些代码"涵盖了Objective-C语言的基础、面向对象编程的原理以及iOS和macOS开发中的实际应用场景。通过练习、作业和课堂示例,开发者可以逐步掌握这个语言并成为熟练的iOS或macOS开发者。

    Effective Objective-C 2.0 中文版.zip

    3. **块(Blocks)**:Objective-C的块是一种内联函数,可以捕获并存储其定义时的作用域内的变量。它们在处理异步操作和回调时非常实用。 4. **懒加载(Lazy Loading)**:这是一种优化技术,延迟初始化直到真正...

    从 C++ 到 Objective-C 快速精通

    学习Objective-C的关键在于理解其特有的类(Class)、对象(Object)、协议(Protocol)以及Category等概念。 1. 类与对象:Objective-C的类基于C++的结构,但增加了元类(Meta-Class)的概念,支持运行时类型检查...

    Objective-C语言教程与案例.zip

    这个"Objective-C语言教程与案例.zip"压缩包包含了一份详尽的教程和实际案例,旨在帮助学习者深入理解并熟练掌握Objective-C。 文档资料.docx可能是教程的主要部分,它可能涵盖了以下知识点: 1. **Objective-C...

    Objective-C编程之道

    Objective-C是一种强大的面向对象的编程语言,主要用于Apple的Mac OS X和iOS操作系统。它在C语言的基础上添加了Smalltalk...通过学习本书,开发者可以全面掌握Objective-C语言,并具备开发高质量iOS和Mac应用的能力。

    Objective-C基础教程第二版英文版加上配套源代码

    此外,还会讲解分类(Category)和扩展(Extension),它们是Objective-C中增强已有类功能的独特方式。 Objective-C的另一个重要特性是动态类型和运行时系统。动态类型意味着对象的实际类型可以在程序运行时确定,...

    Learn Objective-C on the Mac eBook.pdf (incl. examples) 包含全代码

    《Learn Objective-C on the Mac eBook》是一本专为Mac用户设计的深入学习Objective-C的电子书,其中包含了丰富的实例和代码示例。Objective-C是一种强大的编程语言,尤其在苹果的iOS和macOS平台上广泛使用。这本书...

    Objective-C高级编程†

    Objective-C中的类别(Category)允许我们为已存在的类添加新的方法,而无需子类化。这在不修改原有代码的情况下扩展类的功能时非常有用。例如,我们可以为NSArray添加一个方便的查找方法。 Block(块)是Objective...

Global site tag (gtag.js) - Google Analytics