`

object c中的selector

 
阅读更多

其作用相当于函数指针,现在我看到的大多说用法都是在调用某些函数需要传递一个 函数指针 参数时,使用@selector。它会在当前类里面查找selector后面所跟的函数,返回一个SEL类型的值。

 SEL变量的执行.用performSelecor方法来执行.

[对象 performSelector:SEL变量 withObject:参数1 withObject:参数2];

 

在调用respondsToSelector:@selector(method)时,这个method只有在该方法存在参数时需要 ":",如果该方法不需要参数就不需要加这个冒号。否则,编译不会报错,只是执行返回的值不对。当然如果方法有多个参数,需要多个冒号,参数有名称的需要带上参数名称。

如:有如下方法:

-(NSString*)toXmlString;

此时调用类似于:

[self respondsToSelector:@selector(toXmlString)]

如果toXmlString方法的定义为:

-(NSString*)toXmlString:(NSString*)prefix;

那么调用就必须加上冒号,如:[self respondsToSelector:@selector(toXmlString:)]

 

  • -(BOOL) isKindOfClass: classObj 用来判断是否是某个类或其子类的实例
  • -(BOOL) isMemberOfClass: classObj 用来判断是否是某个类的实例
  • -(BOOL) respondsToSelector: selector 用来判断是否有以某个名字命名的方法(被封装在一个selector的对象里传递)
  • +(BOOL) instancesRespondToSelector: selector 用来判断实例是否有以某个名字命名的方法. 和上面一个不同之处在于, 前面这个方法可以用在实例和类上,而此方法只能用在类上.
  • -(id) performSelector: selector 执行某个方法

 

分享到:
评论

相关推荐

    ObjectC & Swift

    在iOS和macOS开发中,Objective-C(ObjectC)和Swift是两种主要的编程语言。Objective-C是苹果的早期开发语言,而Swift是2014年推出的新一代语言,旨在提供更现代、安全和高效的编码体验。这两种语言在很多项目中...

    Object C扫描版PDF

    Objective-C(简称Object C)是一种面向对象的编程语言,它是苹果公司开发的C语言的超集,主要用于iOS和macOS的应用程序开发。Objective-C 2.0是在原版Objective-C的基础上进行的一次重大升级,主要提升了性能并引入...

    Object-C基础教程

    Object-C,作为苹果公司开发的Objective-C语言的简称,是iOS和macOS应用程序开发的核心语言。它是一种面向对象的编程语言,基于C语言,并加入了Smalltalk的类和消息传递机制,使其在C的基础上具备了更强大的面向对象...

    Object C调用c++例子

    在iOS和Mac开发中,Objective-C(Object C)和C++是两种常见的编程语言。Objective-C作为Apple的原生编程语言,广泛用于构建iOS和Mac应用程序,而C++则因其强大的性能和广泛的库支持,被用于实现底层算法或游戏引擎...

    Object-C demos

    在这个名为 "Object-C demos" 的压缩包中,我们很显然会发现一系列与 Objective-C 编程相关的示例代码。这些代码可能是开发者在阅读相关书籍后,根据书中的指导亲自编写的,并且进行了适当的修改以适应自己的理解和...

    Object-C pdf

    Objective-C使用点语法`.`来发送消息,如`[object method]`。这种语法使得代码更易读,但也体现了Obj-C的动态性。消息可以动态解析,使得运行时可以决定执行哪个方法。 **4. 继承与多态** Objective-C支持单一继承...

    EventBusObject-CVersion(EventBus的Object-C语言版本).zip

    这个压缩包“EventBusObject-CVersion(EventBus的Object-C语言版本).zip”包含了XEBEventBus-master项目,这是一个Objective-C实现的EventBus库。下面我们将深入探讨EventBus的基本概念、Object-C版本的特点以及如何...

    Object-C语言教程-提供了 Objective-C 的基本语法和一些示例,希望能够帮助你快速入门 Objective-C

    作为C语言的一个超集,Objective-C允许开发者直接使用C语言代码。此外,它还借鉴了C++的一些特性,尽管它并非C++的直接子集。 Objective-C由苹果公司在其操作系统macOS和iOS的开发中广泛使用,是这两个平台上应用...

    Object-C语言,用C语言实现面向对象

    Object-C,全称Objective-C,是一种基于C语言的、面向对象的编程语言,由Stepanov和Moss在1983年为NextStep操作系统开发。苹果公司广泛使用Objective-C作为其iOS和macOS操作系统以及相关框架如Foundation和AppKit的...

    object-c学习教程PPT

    Objective-C(Object-C)是苹果公司开发的一种面向对象的编程语言,主要应用于iOS和Mac OS X操作系统。它是C语言的超集,包含了Smalltalk风格的消息传递机制,因此它具有C语言的底层控制能力和Smalltalk的灵活性。在...

    object-c 基础教程

    例如,`[anObject performSelector:@selector(aMethod)]`。 4. **@interface 和 @implementation**: `@interface` 用于声明类,包含属性(properties)和方法(methods)。`@implementation` 部分实现接口中的声明...

    object-c基础教程

    Object-C,全称Objective-C,是一种基于C语言的面向对象编程语言,主要用于Apple的iOS和macOS平台上的应用开发。它是Apple的Foundation和AppKit框架的基础,是开发iPhone、iPad以及Mac应用程序的核心语言。本教程将...

    OBJECT_C入门

    Objective-C 是一种通用、面向对象的编程语言,它是在C语言的基础上增加了面向对象的特性。Objective-C 主要用于苹果公司的 macOS 和 iOS 的开发。Objective-C 的设计哲学强调简洁性和表达性,同时保持了 C 语言的...

    object-c程序设计

    本节将深入探讨Object-C的核心概念、语法特点以及在实际应用中的使用技巧。 一、基础概念 1. 类(Class):在Object-C中,类是对象的蓝图,定义了一组属性(实例变量)和方法(消息)。每个对象都是某个类的实例。...

    object-c初学者中文教程 附源码 iPhone开发必读

    **Object-C初学者中文教程** Objective-C是一种面向对象的编程语言,主要被Apple用于开发iOS和macOS的应用程序。作为初学者,理解Object-C的基本概念和技术是迈向iPhone开发的第一步。本教程旨在帮助你深入理解...

    从C++到Object-c

    Objective-C允许在代码中混合使用C语言的结构和面向对象的特性。这意味着可以在Objective-C程序中直接使用C的库和函数,这为开发提供了极大的灵活性。 #### 3.4 新类型与值 Objective-C引入了新的数据类型和值,...

    Object-C基础学习

    Objective-C(Object-C)是Apple开发的一种面向对象的编程语言,它是C语言的超集,主要用于iOS和Mac OS X操作系统上的应用开发。由于其在Apple生态系统中的重要地位,学习Objective-C成为了想要深入iOS开发的...

    Object-C复习_object-c_复习_

    - **Selector**:选择器是Objective-C中表示方法的标识符,用于消息发送。 - **Dynamic Dispatch**:动态调度使得可以在运行时决定执行哪个方法。 - **Method Swizzling**:方法交换是一种运行时技术,可修改方法的...

    Object-C_Runtime

    Objective-C是一种结合了C语言和Smalltalk面向对象技术的编程语言。它最初由Brad Cox和Tom Love在1980年代初开发,并由Stepstone公司进一步发展。后来被苹果公司在1988年收购并成为其开发iOS和macOS应用的主要语言之...

Global site tag (gtag.js) - Google Analytics