计算textview中的字符数

时间:2011-04-26 09:46:48

标签: objective-c ios4 nstimer character

我想计算用户输入的textview中的字符数。我给了它一些想法,我的想法是我必须创建一个带选择器的NSTimer来检查长度。 所以我得到了:

-(void)viewDidLoad { [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(checkText) userInfo:nil repeats:YES];  }

-(void)checkText {

int characters;

label.text.length = self.characters;

characterLabel.text = [NSString stringWithFormat:@"%i", characters]; }

这不起作用,因为“请求成员”字符“不是结构或联合”

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:5)

没有必要使用NSTimer。将自己设置为textview的委托并实施:

- (void)textViewDidChange:(UITextView *)textView
{
    NSUInteger length;
    length = [textView.text length];

    characterLabel.text = [NSString stringWithFormat:@"%u", length]
}

答案 1 :(得分:0)

请注意,如果您尝试使用self.characters获取int characters变量的值,则无效。 self.characters代码表示您拥有属性设置@property characters,它将调用此属性的getter。要使用局部变量,只需使用其名称。

我认为您的-checkText:方法中有混合标签对象。 以下是如何获取UITextView个字符数的一般示例:

int characters = [myTextView.text length];