gpt4 book ai didi

iphone - 使用withObject:self和withObject:nil之间的区别

转载 作者:行者123 更新时间:2023-12-01 17:19:46 26 4
gpt4 key购买 nike

我一直在想以下代码行

[self performSelector:@selector(myMethod) withObject:self afterDelay:1.0];
[self performSelector:@selector(myMethod) withObject:nil afterDelay:1.0];
  • 以上两行代码之间的区别是什么。
  • 我们什么时候应该将对象设置为nil,何时应该将对象设置为self

  • 在大多数情况下,我注意到该对象被设置为 nil

    最佳答案

    区别在于您是否将对象传递给选择器。选择器所做的只是描述一种方法。

    [self performSelector:@selector(myMethod) withObject:nil afterDelay:1.0];

    不同于:
    [self performSelector:@selector(myMethod:usingThis:) withObject:nil afterDelay:1.0];

    现在,如果您希望选择器(即方法)在传入的某个对象上工作,例如数组,字典或类。您使用withObject。如:
    [self performSelector:@selector(myMethod:) withObject:myDictionary afterDelay:1.0];

    -(void)myMethod:(NSDictionary*)dictionary
    {
    // Do something with object
    }

    您可以像在示例中那样传递任何内容,包括对当前类的引用(例如self)。

    关于iphone - 使用withObject:self和withObject:nil之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11064294/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com