Objective-C 之category
参考资料:iOS设计模式——Category
Category
- Category模式用于向已经存在的类添加方法从而达到扩展已有类的目的。
- 相当于Swift中的功能扩展(extension)。
- 新添加的方法同样也会被被扩展的类的所有子类自动继承。
Category的用途
1、 在不创建继承类的情况下实现对已有类的扩展。
2、 简化类的开发工作(当一个类需要多个程序员协同开发的时候,Category可以将同一个类根据用途分别放在不同的源文件中,从而便于程序员独立开发相应的方法集合)。
3、将常用的相关的方法分组。
4、 在没有源代码的情况下可以用来修复BUG。
示例:
在项目中添加文件选着Category文件类型
NSString+EndWith.h
#import <Foundation/Foundation.h>@interface NSString (EndWith)
-(BOOL)endWith:(NSString*)end;@end
NSString+EndWith.m
#import "NSString+EndWith.h"@implementation NSString (EndWith)
-(BOOL)endWith:(NSString *)end{NSString *selfEnd = [self substringFromIndex:[self length]-[end length]];return [selfEnd isEqualToString:end];
}@end
main.m
#import <Foundation/Foundation.h>
#import "NSString+EndWith.h"
int main(int argc, const char * argv[]) {@autoreleasepool {NSString * str = @"c:/Media/mp3/xxx.mp3";NSLog(@"%d",[str endWith:@".mp3"]);}return 0;
}
转载于:https://www.cnblogs.com/Free-Thinker/p/10797416.html
Objective-C 之category相关推荐
- Objective C 类别(Category)与类扩展(Extensions)
一.类别(Category) 类别(Category)是一种可以为现有的类(包括类簇:NSString...,甚至源码无法获得的类)添加新方法的方式无需从现有的类继承子类.类别添加的新方法可以被子类继 ...
- 深入理解iOS App的启动过程
前言 启动时间是衡量应用品质的重要指标. 本文首先会从原理上出发,讲解iOS系统是如何启动App的,然后从main函数之前和main函数之后两个角度去分析如何优化启动时间. 准备知识 Mach-O 哪 ...
- iOSApp是如何启动的
转载自:https://blog.csdn.net/Hello_Hwc/article/details/78317863 Mach-o 哪些名词指的是Mach-o Executable 可执行文件 D ...
- 深入理解iOS APP启动过程
前言 启动时间是衡量应用品质的重要指标. 本文首先会从原理上出发,讲解iOS系统是如何启动App的,然后从main函数之前和main函数之后两个角度去分析如何优化启动时间. 准备知识 Mach-O 哪 ...
- iOS应用的启动流程和优化详解
一.应用启动流程 1.整体过程 (1)解析Info.plist 加载相关信息,例如如闪屏 沙箱建立.权限检查 (2)Mach-O(可执行文件)加载 dylib loading time(动态库耗时) ...
- ios启动时间优化--理论
启动时间是衡量应用品质的重要指标. 本文首先会从原理上出发,讲解iOS系统是如何启动APP的,然后从main函数之前和main函数之后俩个角度去分析如何优化启动时间. mach-O 哪些名词指的是Ma ...
- 【Paper】Deep Learning for Anomaly Detection:A survey
论文原文:PDF 论文年份:2019 论文被引:253(2020/10/05) 922(2022/03/26) 文章目录 ABSTRACT 1 Introduction 2 What are anom ...
- iOS全栈式开发工程师
课程目录: --/iOS全栈式开发工程师/ ├──1.双师班课程介绍 | └──1.什么是双师教育模式.flv 13.19M ├──10.C语言之字符串 | └──1.字符串.flv 175.41M ...
- 《黑马程序员》 category分类的使用(Objective - c语法)
------- <a href="http://www.itheima.com" target="blank">android培训</a> ...
- iOS完全自学手册——[三]Objective-C语言速成,利用Objective-C创建自己的对象...
1.前言 上一篇已经介绍了App Delegate.View Controller的基本概念,除此之外,分别利用storyboard和纯代码创建了第一个Xcode的工程,并对不同方式搭建项目进行了比较 ...
最新文章
- 命名管道 win7未响应_大数据分析Python建立分析数据管道
- Codeforces681D Gifts by the List
- python list循环语句的使用方法
- Raft算法的Leader选举和日志复制过程
- C语言之折半查找(二分查找)
- python 3d大数据可视化_Python大数据可视化编程实践-绘制图表
- duration java_Java Duration类| ofDays()方法与示例
- Delphi 7皮肤控件VCLSkin 5 60的使用
- Data Pump failed with ORA-04031/ORA-4030?
- php+tcpdf+表格,php 使用tcpdf库输出pdf
- 织梦网站建设广告网络公司网站模板 电脑+手机 整站源码
- cad修改快捷键_CAD大神总结:100个CAD快捷键+20个CAD制图技巧
- 腾讯2016实习生招聘后台研发面试经
- oc项目中使用swift
- [附源码]计算机毕业设计springboot基于微信小程序的网络办公系统
- 前端 vue 使用高德地图组件:(二)获取鼠标点击位置坐标 和 图标覆盖物拖动后的坐标
- 【案例实践】Python多元线性回归、机器学习、深度学习在近红外光谱分析中的实践应用
- win7 开启无线网
- custom_filter
- 靶机渗透练习93-hacksudo:1.0.1