我该如何运行此代码?

时间:2013-10-19 15:58:00

标签: ios boolean uitextview

我需要运行这组代码:

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {

另一种方法(IBAction)。

所以例如我需要像这样运行它:

[self performSelector:@selector(textView:shouldChangeTextInRange:replacementText:) withObject:nil afterDelay:0.1];

我该怎么做?

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];