1 category 分类,只能添加方法,添加的方法成为原来类的一部分,达到扩展类的目的,可以被子类继承

主要给没有源代码的类 添加方法,团队合作项目互不影响,不该动原有类的基础上添加方法

self 谁调用 self就是谁  灵活运用self  省去很多参数

NSString *str4 = @"vayydy";

NSString *str5 = [str4 getStringOneWord];

NSLog(@"%@" , str5);

- (NSString *)getStringOneWord

{

return [[self substringToIndex:1] uppercaseString];

}

NSLog(@"%d" , [@"ydsaokcmkd" iscontainString:@"sao"]);

- (BOOL)iscontainString:(NSString *)str

{

//    return [[[self rangeOfString:str].length] == 0 ? YES : NO];

return [self containsString:str] ? YES : NO;

}

NSArray *array4 = @[@"dusy" , @"oich" , @"aew" , @"uys"];

NSString *str9 = @"aew";

NSInteger result = [array4 isContain:str9];

NSLog(@"%ld" , result);

- (NSInteger)isContain:(id)str

{

return [self containsObject:str] ?[self indexOfObject:str]: UINT64_MAX;

}

NSDictionary *dic = @{@"3":@"vv" , @"6":@"mm" , @"1":@"ds"};

[dic sortDic];

- (void)sortDic

{

NSLog(@"%@" , [[self allKeys] sortedArrayUsingSelector:@selector(compare:)]);

}

2 extension  延展   功能管理私有方法

也就是类中实现的方法有些事私有的,把他总结列在前面 ,一目了然

category extension的更多相关文章

  1. 基本语法 protocols Category extension

    转:http://blog.csdn.net/wangeen/article/details/16989529 protocol   本质就是一系列的method的声明,他并不像class是必须的选项 ...

  2. category,extension区别

    extension是在编译的时候就决定了的,跟普通的头文件是一样的,所以可以添加属性.实例变量.方法.并且添加extension的前提是你有这个类的源代码. category是在程序运行的时候才决定的 ...

  3. Category的使用

    1.创建一个objective-c file , 可以选择 category, extension ,protocol, empty 文件.选category 就能建立类别. category机制,它 ...

  4. iOS10 CoreData新特性

    原文地址:What's New in Core Data in macOS 10.12, iOS 10.0, tvOS 10.0, and watchOS 3.0 翻译者:肖品,原创文章转载请著名出处 ...

  5. Swift 基本语法2

    一.?和! 1.可选类型: ? 在swift中,可选类型(?)其根源是一个枚举型,里面有None和Some两种类型.其实所谓的nil就是Optional.None, 非nil就是Optional.So ...

  6. Swift开发语法

    Swift开发入门 简介 Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序 2014 年,在 Apple WWDC 发布 历史 2010 年 7 月,苹果开发者 ...

  7. 从此走上一条iOS程序猿不归路。。。

    新的城市,新的生活!前不久刚刚结束了苦逼的面试找工作之旅,期间也小有收货,如今正处年底工作闲暇之余,将前一阵子陆陆续续的总结整理了一下,本人菜鸟程序猿一只,水平有限,本文总结的知识不算深入,比较浅显, ...

  8. iOS屏幕适配(尺寸适配)

    屏幕尺寸适配:一 在.pch中加入以下代码,在定义每个尺寸值的时候都调用下边的宏 //以iphone7为例 定义 view相关的宽高宏#define IPHONEHIGHT(b) [UIScreen ...

  9. [转]Using Angular in Visual Studio Code

    本文转自:https://code.visualstudio.com/docs/nodejs/angular-tutorial Using Angular in Visual Studio Code ...

随机推荐

  1. jquery点击一组按钮中的一个,跳转至对应页面处理策略。(如点击订单列表中的一个订单,跳转至该订单的详情)

    将改组按钮的数据设置一个相同的属性(如class),然后每个按钮设置不同的id 当用户点击属性为class的按钮,根据id属性来判断点击的是哪个按钮,然后进行相关操作. 代码示例: <scrip ...

  2. git本地仓库管理远程仓库

    git remote add origin https://xxxxxgit push -u origin master

  3. make编译一

    在C和C++中,首先要把源文件编译成中间代码文件,在windows下就是obj文件,linux下就是.o文件:object file.这个动作叫做编译,然后再把大量的object file合成执行文件 ...

  4. 用swift创建各种UI控件【iSwifting社区】

    为了方便大家学习,www.iSwifting.com社区为大家准备了创建各种UI控件的代码.開始看着语法可能有些别扭,当用习惯了,就认为还是非常不错的. 社区还添加了问答专区.有问题的朋友.虽然问.大 ...

  5. ansible copy文件比较慢, 使用Synchronize模块

    Ansible中的同步模块(rsync) Synchronize模块 1 2 3 4 5 6 7   This is a wrapper around rsync. Of course you cou ...

  6. 显示HTML的版权符号

    最近有小伙伴问©符号在页面显示很小,于是去查看他的源代码 他在HTML代码里对应输入© 那么在页面里应该会正常显示版权符号,可是为什么会出现这种问题呢? 首先我想到页面在设计的时候,用的字体是宋体,就 ...

  7. 高性能javascript学习总结(2)--DOM编程

    我们知道,对DOM的操作都是非常的耗性能的,那么为什么会耗性能呢?      文档对象模型(DOM)是一个独立于语言的,使用 XML和 HTML 文档操作的应用程序接口(API).在浏览器中,主要与 ...

  8. pandas.resample()

    http://www.cnblogs.com/hhh5460/p/5596340.html resample与groupby的区别:resample:在给定的时间单位内重取样groupby:对给定的数 ...

  9. [原创]java WEB学习笔记05:Servlet中的ServletConfig对象

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  10. 【leetcode刷题笔记】Convert Sorted List to Binary Search Tree

    Given a singly linked list where elements are sorted in ascending order, convert it to a height bala ...