我想计算用户输入的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]; }
这不起作用,因为“请求成员”字符“不是结构或联合”
我该如何解决这个问题?
答案 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];