获取NSTextField文本属性的长度

时间:2011-05-17 20:53:13

标签: objective-c cocoa macos nstextfield

我在查找文本字段text的长度时遇到问题!

我在这里搜索了很多,发现它可以与textfield.text.length或类似的东西一起使用 我的问题是textfield.text对我不起作用! 如果我编写此代码:textfield.text;,那么我会收到如下错误:

  在类型NSTextField

的对象上找不到

属性“text”

我必须找到文本字段的长度以限制字符数。

我该怎么办?提前谢谢。

3 个答案:

答案 0 :(得分:7)

与UIKit相比,AppKit中的大多数类都没有属性。 NSTextField甚至没有名为text的方法。您需要stringValue方法,该方法继承自NSControl

答案 1 :(得分:2)

这种普遍接受的方式(限制NSTextField的长度)是使用NSFormatter助手类。 See Here

答案 2 :(得分:0)

要限制长度,请通过添加

将委托方法添加到控制器
< UITextFieldDelegate > 
头文件中的

。然后在实现中添加以下方法:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

在这里只需检查长度,然后返回字符串或只是你想要的字符串长度 您可以通过以下方式获得长度:

[[textfield stringValue] length]

在界面构建器中,请确保将文件所有者添加为文本字段的委托