Objective-C - 调用 performSelector
Objective-C - calling performSelector
目前我正在尝试使用以下代码行调用选择器:
[self performSelector:@selector(locationManager:) withObject:nil afterDelay:searchAnimation.animationDuration];
我尝试调用的方法是:
-(void)locationManager:(CLLocationManager *)manager didRangeBeacons: (NSArray *)beacons inRegion:(CLBeaconRegion *)region { NSLog(@"check"); }
谁能帮帮我。这不起作用,因为 "Undeclared selector"。这里不是locationmanager:这个名字吗?
否则我该如何调用该函数?
坦克!
EDITED 在这种情况下你不能使用 performSelector
,它只需要 0 或 1 个参数。谢谢@rmaddy。
我不明白你想达到什么目的,但也许你应该使用 CGD dispatch_after
例如:
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(searchAnimation.animationDuration * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
<# call the delegate method here #>
});
希望对您有所帮助:)
目前我正在尝试使用以下代码行调用选择器:
[self performSelector:@selector(locationManager:) withObject:nil afterDelay:searchAnimation.animationDuration];
我尝试调用的方法是:
-(void)locationManager:(CLLocationManager *)manager didRangeBeacons: (NSArray *)beacons inRegion:(CLBeaconRegion *)region { NSLog(@"check"); }
谁能帮帮我。这不起作用,因为 "Undeclared selector"。这里不是locationmanager:这个名字吗?
否则我该如何调用该函数?
坦克!
EDITED 在这种情况下你不能使用 performSelector
,它只需要 0 或 1 个参数。谢谢@rmaddy。
我不明白你想达到什么目的,但也许你应该使用 CGD dispatch_after
例如:
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(searchAnimation.animationDuration * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
<# call the delegate method here #>
});
希望对您有所帮助:)