gpt4 book ai didi

ios - 如何使用 [NSObject instancesRespondToSelector]

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:02:58 26 4
gpt4 key购买 nike

我不确定如何使用此方法,我尝试了下面的代码并假设两者都应返回 YES,但我观察到一些不同的东西。有人可以解释一下吗? [UILocalNotification setRegion:] 是 iOS8 中的新功能。

BOOL test0 = [[[UILocalNotification alloc] init] respondsToSelector:@selector(setRegion:)];
BOOL test1 = [UILocalNotification instancesRespondToSelector:@selector(setRegion:)];

调试窗口显示测试值是:

test0 = (BOOL)YES;
test1 = (BOOL)NO;

最佳答案

虽然知道一个是类方法,另一个是实例方法,但我不明白这两者如何(或为什么)会返回不同的答案。更让人困惑的是,如果我这样做了

BOOL test2 = [[[[UILocalNotification alloc] init] class] instancesRespondToSelector:@selector(setRegion:)];

那么答案是肯定的!所以我检查了一下,如果你看一下 alloc init 返回的对象的类,它是不同的:

UILocalNotification *local = [[UILocalNotification alloc] init];
NSLog(@"%@", NSStringFromClass([local class]));
NSLog(@"%@", NSStringFromClass([UILocalNotification class]));

返回:

2014-11-14 12:48:14.990 Test[6750:22555] UIConcreteLocalNotification
2014-11-14 12:48:14.991 Test[6750:22555] UILocalNotification

这解释了答案为何不同。

关于ios - 如何使用 [NSObject instancesRespondToSelector],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26929270/

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