Получение длины текстового свойства NSTextField - PullRequest
1 голос
/ 18 мая 2011

У меня проблема с поиском длины текстового поля text!

Я много искал здесь и обнаружил, что он будет работать с textfield.text.length или чем-то подобным.
Моя проблема в textfield.text не работает для меня! Если я напишу этот код: textfield.text;, я получу ошибку, подобную этой:

свойство "text" не найдено для объекта типа NSTextField

Мне нужно найти длину текстового поля, чтобы ограничить количество символов.

Что мне делать? Заранее спасибо.

Ответы [ 3 ]

7 голосов
/ 18 мая 2011

Большинство классов в AppKit, в отличие от UIKit, не имеют свойств.NSTextField даже не имеет метода с именем text.Вам нужен метод stringValue, который наследуется от NSControl

2 голосов
/ 18 мая 2011

Общепринятым способом сделать это (ограничение длины NSTextField) является использование вспомогательного класса NSFormatter. Смотрите здесь

0 голосов
/ 18 мая 2011

Чтобы ограничить длину, вы добавляете методы делегата в свой контроллер, добавляя

< UITextFieldDelegate > 

в заголовочном файле. Затем в реализации добавьте следующий метод:

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

Здесь просто проверьте длину и верните либо строку, либо желаемую длину строки.
Вы можете получить длину с:

[[textfield stringValue] length]

В конструкторе интерфейсов обязательно добавьте владельца файла в качестве делегата в текстовое поле

...