objective-c协议为不同的类提供公用的方法
协议定义了一组方法,而不提供具体实现。它定义了其它对象有责任实现的接口。当在自己的类中实现协议的方法时,用户的类就是遵守这个协议的,协议声明的方法可以被任何一个类实现。
通俗易懂地讲
你写了个类,你的这个类提供给我的类使用
我在我的类里初始化了你的类实例,那么好,你的方法我是可以调用的。
但是你的类会在达成某种条件的时候调用一个方法,这个方法你不知道要被谁实现,也无需你实现,你只是探出一个接口。
好吧,我会在按钮按下时调用这个方法,但是要做什么我不管,我也不知道,谁用的谁自己去实现。
那么,在你的类里定义协议
@protocol yourdelegate
-(void)dosomething
@end
定义id delegate属性
并在你按钮按下的方法里
[delegate dosomething];
我的类里使用你的协议
@interface 我的类:NSObject<yourdelegate>
并且在初始化你的类的时候, 你的类.delegate = self;
然后实现你的协议方法
-(void) dosomething
{做你想做的事
}
分享到:
相关推荐
Objective-C是一种广泛用于苹果平台应用程序开发的编程语言,它是C语言的一个超集,并加入了Smalltalk风格的消息传递机制。本篇教程主要面向初学者,介绍了Objective-C的基础知识点和一些核心概念。 1. Objective-C...
"第七讲 分类与协议"讲解了分类的用途,它可以扩展已有类的功能,而协议则是Objective-C的接口定义,类似于其他语言的接口或协定,用于定义对象必须实现的一组方法。 "第八讲 内存管理"是Objective-C开发中非常重要...
### Objective-C 2.0 运行时系统编程指南 #### 概述 Objective-C是一种面向对象的编程语言,它以其独特的动态性而闻名。这种动态性体现在它能够尽可能地将决策过程推迟到运行时执行,而不是在编译或链接阶段。因此...
1. **Objective-C基础**:Objective-C是在C语言基础上扩展的,因此,理解C语言的基本语法是必要的。Objective-C添加了消息传递机制、类和协议等面向对象特性。 2. **消息传递**:Objective-C中的对象通过发送消息来...
Objective-C是基于C语言的,主要用于构建iOS和macOS应用程序,而Objective-C++则是Objective-C的一个扩展,它引入了C++的特性,使得开发者可以同时利用Objective-C的动态特性和C++的面向对象编程能力。 ### ...
1. **Objective-C基础**:Objective-C是在C语言基础上扩展的,因此它包含了C的所有特性。书中会讲解基本的数据类型、控制结构、函数和指针等基础知识,同时介绍Objective-C特有的动态类型和消息传递机制。 2. **...
3. **Objective-C语法**:深入解析Objective-C的语法特性,如消息传递、方法定义、属性声明、类别(Category)和协议(Protocol)等,以及如何使用这些特性编写代码。 4. **Foundation框架**:介绍Objective-C开发...
Objective-C语法的基石是C语言的语法结构,这意味着所有的C语言代码都可以在Objective-C中直接使用。但是,Objective-C在C的基础上新增了消息传递机制,这是它与C语言的一个重要区别。在Objective-C中,方法调用是...
1. **Objective-C基础**:Objective-C是在C语言基础上扩展的,添加了面向对象特性。它的基础包括类、对象、消息传递等概念。类定义了对象的属性和行为,对象则是类的实例。消息传递是Objective-C的核心,通过`...
首先,"Programming In Objective-C.chm" 是一本关于Objective-C编程的电子书,可能涵盖了语言的基本语法、类和对象的概念、消息传递机制、内存管理(在Objective-C中是ARC,即自动引用计数)、类别、协议、 Blocks...
在标题提及的“[iOS]Objective-C利用协议实现回调函数(类似java的回调函数)”中,我们主要讨论的是Objective-C如何通过协议(Protocol)来实现类似于Java中的回调函数功能。这种机制对于异步编程、事件处理以及...
Objective-C是C语言的超集,它扩展了C语言,加入了面向对象的特性。面向对象编程(OOP)的核心概念包括类、对象、继承、封装和多态。Objective-C通过消息传递机制实现了这些概念,使得代码更加模块化和可维护。 2....
Objective-C是一种面向对象的编程语言,它是C语言的扩展,最初由Brad Cox在20世纪80年代开发,并且广泛应用于Mac OS X和iOS的应用程序开发中。Objective-C在C语言的基础上增加了Smalltalk风格的消息传递机制,允许...
Objective-C是在C语言的基础上扩展了Smalltalk式的面向对象特性,使得它既有C语言的强大功能,又具备了面向对象编程的灵活性。 在Objective-C中,类是所有对象的基础。类定义了一组属性(实例变量)和方法(函数)...
综上所述,《Objective-C基础教程》作为一本介绍Objective-C语言及其在iOS开发中应用的专业书籍,不仅适合初学者入门学习,也对有经验的开发者有着重要的参考价值。通过深入学习本书,读者可以全面掌握Objective-C的...
3. **协议(Protocols)**: Objective-C 的协议类似于 Java 或 C# 中的接口,定义了一组方法签名。对象可以选择遵循一个或多个协议,即使它并不直接继承那个协议。 4. **分类(Categories)**: 分类允许你向已有的...
Objective-C是一种强大的面向对象的编程语言,主要用于Apple的iOS和macOS平台开发。这个压缩包包含三本关于Objective-C的专业书籍,将为学习者提供深入理解这一语言的基础和高级概念。 1. **Objective-C基础教程....
1. **Objective-C的起源与特性**:Objective-C是在C语言的基础上扩展的,增加了消息传递机制和面向对象特性。它的语法包含C语言的所有部分,同时引入了类、继承、多态等OOP概念。 2. **类与对象**:在Objective-C中...
Objective-C是C语言的超集,它在C的基础上添加了面向对象的概念,如类、消息传递和协议等。这使得Objective-C既具有C的底层控制能力,又具备了现代编程语言的灵活性和可扩展性。在"Objective-C编程 第2版"中,可能...
根据给出的内容,我们可以总结出以下关于Objective-C编程语言的知识点,这些知识点将覆盖从Objective-C的基础知识到高级特性,以及如何在iOS移动开发中使用Objective-C: 1. Objective-C简介 Objective-C是一种面向...