美文网首页
(Objective-C) 间接触发某个对象的某一方法

(Objective-C) 间接触发某个对象的某一方法

作者: 布呐呐u | 来源:发表于2022-11-27 17:01 被阅读0次

performSelector

  • 无参数
- (id)performSelector:(SEL)aSelector;
// eg:
- (void)aSelectorTest { NSLog(@"aSelectorTest"); }

// ex:
if ([self respondsToSelector:@selector(aSelectorTest)]) {
   [self performSelector:@selector(aSelectorTest)];
}

  • 一个参数
- (id)performSelector:(SEL)aSelector withObject:(id)object;
// eg:
- (void)aSelectorTest:(NSString *)testString {
    NSLog(@"aSelectorTest == %@", testString);
}

// ex:
if ([self respondsToSelector:@selector(aSelectorTest:)]) {
    [self performSelector:@selector(aSelectorTest:) withObject:@"a test string"];
}

  • 两个参数
- (id)performSelector:(SEL)aSelector withObject:(id)object1 withObject:(id)object2;
// eg:
- (void)aSelectorTest:(NSString *)testString at:(int)index {
    NSLog(@"aSelectorTest == %@, index == %i", testString, index);
}

// ex:
if ([self respondsToSelector:@selector(aSelectorTest:at:)]) {
    [self performSelector:@selector(aSelectorTest:at:) withObject: @"other test string" withObject: @6];
}

相关文章

  • (Objective-C) 间接触发某个对象的某一方法

    performSelector 无参数 一个参数 两个参数

  • iOS之消息传递机制

    在Objective-C中使用对象调用方法非常普遍。用Objective-C的术语来讲,这叫做“给某个对象发...

  • Java多线程间的同步(一)

    日常开发中往往会遇到多个线程循环操作某个对象中的某个方法或者间接处理某个对象,如果当前某个对象被多个线程同时操作的...

  • SpringAOP概述

    Aspect:所谓切面,面向的不是某一个对象的某一个方法,而是所有对象的某个方法,或者满足某些条件的对象的满足某些...

  • iOS 进阶 01--对象与方法的本质

    对象与方法的本质 Objective-C 对象(Class)的本质是结构体。 Objective-C 方法(Met...

  • angularJS 里的$watch的用法

    描述 $watch方法在用的时候主要是手动的监听一个对象,但对象发生变化时触发某个事件。 watchObj: 需要...

  • 面试题:instancetype 和 id的区别

    相同点 都可以作为方法的返回类型,表示某个方法返回的未知类型的Objective-C对象。 不同点 1.insta...

  • 文件操作IO流_补充

    一、Python中不要求对象必须实现某个特定的类,只要该对象含有某一方法如read()方法,该对象可以是内存的字节...

  • iOS 开发:类方法、对象方法

    Objective-C中的方法有两种:类方法和对象方法(也叫作实例方法)。 1、对象方法(实例方法) 1.1、对象...

  • OC入门-KVC

    KVC (Key Value Coding) Objective-C 允许以字符串形式间接操作对象的属性,这种方...

网友评论

      本文标题:(Objective-C) 间接触发某个对象的某一方法

      本文链接:https://www.haomeiwen.com/subject/ucycfdtx.html