1225Delegate 代理委托 +类别Category

1.协议  代理模式

两个对象之间如何传递数据

同一时间只完成一件事情

一般把协议写在代理中

接受的类型用id并且服从协议(@property(nonatomic ,assign)id<agentDelegate>delegate

一定要确保对象实现了方法

2.Category 类别

1、什么是类别

在已有类的基础之上无需子类化,直接给类添加一些方法

a.继承与类别的区别

继承不仅可以添加一些方法,还可以添加一些属性

类别只能添加方法

b.在使用的时候继承必须创建一个对象再去调用方法,使用类别里面的方法和原有类的使用方式一致

c,类别不会改变现有类的方法,万一重名,自己写的优先级最高

时间: 2024-10-10 09:27:29

1225Delegate 代理委托 +类别Category的相关文章

Objective-C日记-之类别Category

类别Category 1,概述 为现有类添加新的方法,这些新方法的Objective-C的术语为“类别”. 2,用法 a,声明类别 @interface NSString(NumberConvenience) -(Number *)lengthAsNumber; @end//NumberConvenience 这里类别的名称就叫NumberConvenience,新的类方法为lengthAsNumber. b,实现类别 @implementation NSString(NumberConveni

类别(Category)与扩展(Extensions)

一.类别(Category) 类别(Category)是一种可以为现有的类(包括类簇:NSString...,甚至源码无法获得的类)添加新方法的方式无需从现有的类继承子类.类别添加的新方法可以被子类继承. 注:继承(inheritance)无法为一个类簇创建子类.类别不能添加实例变量. 1. 创建类别 1.1 声明类别 类别的声明和类的声明格式相似: @interface ClassName(CategoryName) //method declarations @end//CategoryNa

Objective-C中的协议(Protocol)和类别(Category)

1.什么是协议? 2.协议与类别的声明和使用 1.什么是协议? 在Objective-C中,不支持多继承,即不允许一个类有多个父类,但是OC提供了类似的实现方法,也就是协议.协议有点类似于Java里的接口,不同点就是在协议里,可以提供可选的方法,不要求全部继承. 协议包括正式协议和非正式协议. 正式协议:其声明一个方法列表,协议的实现者需要实现声明的方法,可以使用@required和@optional关键字指定方法必须实现或可选实现,默认为必须实现.子类会继承其父类采用的协议,一个协议本身也可以

类别(category)

类别(category) 类别:类别是一种为现有的类添加新方法的方式.使用类别你可以为任何类添加新的方法,包括那些没有源代码的类. 通常会以"类名称+类别名称"的风格命名.这并不是硬性的规定,但却是一个好习惯.例如:NSString+NumberAsNSNumber. 类别的声明 #import <Foundation/Foundation.h> @interface NSString (NumberConvenience) -(NSNumber *) lenthAsNum

[js]事件模型及事件代理/委托

原文链接:http://www.cnblogs.com/xxcanghai/p/5205998.html 1.事件的三个阶段:事件捕获.目标.事件冒泡 (低版本的IE不支持捕获) 2.传统.IE和W3C不同绑定事件.解绑事件的方法有什么区别,参数分别是什么,以及事件对象e有什么区别 传统方法: element.onclick = function(e){ // ... }; 传统绑定的优点 非常简单和稳定,可以确保它在你使用的不同浏览器中运作一致 处理事件时,this关键字引用的是当前元素,这很

iOS类别(Category)

iOS类别(Category)与扩展(Extension) 苹果的官方文档 Category在iOS开发中使用非常频繁.尤其是在为系统类进行拓展的时候,我们可以不用继承系统类,直接给系统类添加方法,最大程度的体现了Objective-C的动态语言特性. #import @interface NSObject (Category) - (void)myMethod; @end 这是一个最简单的Category,作用于NSObject类,给NSObject添加了一个方法. 使用Category需要注

iOS类别Category与扩展Extension

本文主要是详解iOS类别(Category)与扩展(Extension,匿名类别),请登陆疯狂软件教育官网.Category在iOS开发中使用非常频繁.尤其是在为系统类进行拓展的时候,我们可以不用继承系统类,直接给系统类添加方法,最大程度的体现了Objective-C的动态语言特性. [objc] view plaincopy在CODE上查看代码片派生到我的代码片 #import @interface NSObject (Category) - (void)myMethod; @end 这是一个

分类(类别/Category)与 类扩展(Extension)

一.分类(类别/Category) 1.适用范围 当你已经封装好了一个类(也可能是系统类.第三方库),不想在改动这个类了,可是随着程序功能的增加需要在类中增加一个方法,这时我们不必修改主类,只需要给你原来的类增加一个分类. 将一个大型的类拆分成不同的分类,在不同分类中实现类别声明的方法,这样可以将一个类的实现写到多个.m文件中,方便管理和协同开发. 分类中的方法可以只声明,不实现,所以在协议不支持可选方法的时候(协议现在已经支持可选方法),通常把分类作为非正式协议使用. 2.语法格式 文件中的语

2. revitAPI基础-----类别category

在revitAPI中,Element及其子类都拥有一个category属性用于表示类别,整体调用方式为document.settings.Categories,也可以用BuiltInCategory找出指定的类别 从模型中取到想要的类别: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Autodesk.Revi