我需要运行这组代码:
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
另一种方法(IBAction)。
所以例如我需要像这样运行它:
[self performSelector:@selector(textView:shouldChangeTextInRange:replacementText:) withObject:nil afterDelay:0.1];
我该怎么做?
答案 0 :(得分:1)
你无法传递参数来执行选择器。
您需要将要发送的数据封装到单个Objective C对象(例如NSArray,NSDictionary,某些自定义Objective C类型)中,然后将其传递给[NSObject performSelector:withObject:afterDelay:]。对于你的情况:
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
类似的东西:
NSArray * arrayOfThingsIWantToPassAlong =
[NSArray arrayWithObjects: range, text, nil];
[self performSelector:@selector(fooFirstInput:)
withObject:arrayOfThingsIWantToPassAlong
afterDelay:15.0];