Як встановити текст у NSTextField?


134

Я намагаюся встановити текст у NSTextField, але методи -setStringValue:та -setTitleWithMnemonic:методи не працюють. Будь-які ідеї?


Чи посилається ваш NSTextField як IBOutlet та правильно приєднаний (якщо ви використовуєте програму Interface Builder, тобто ...)
jlindenbaum

Відповіді:


229

setStringValue:це спосіб це зробити. Ви повинні переконатися, що ваша розетка встановлена ​​належним чином. (У відладчику переконайтеся, що змінна текстового поля не є нульовою.)


22
Спосіб зробити це в Swift просто stringValue, тоді ви можете встановити його на будь-яку потрібну рядок.
Крістофер Спенсер

43

Просто зробіть щось подібне:

myLabel.stringValue = @"My Cool Text";

17

Тут просто myLabel.stringValue = "MY TEXT"працює, використовуючи Swift та Xcode 6.


Це хороша відповідь для найсвіжіших середовищ розробників. До речі, чому це не є частиною документації NSTextField? Я пішов туди першим і подумав, що дійсно очевидно, як знайти це, але його там не було ... EDIT: Я знайшов це, воно просто не в очевидному місці "Теми", тому що stringValue насправді є властивість батьківського класу NSControl і з'являється у "
Огляді

8

Швидкий 4

self.yourTextField.stringValue = "Your_Value"

Примітка: Fetching значення з self.yourTextField.stringValue в тому , що отримає попередження тобто , Попереджувальне повідомлення щоб уникнути такого роду попередження можна використовувати як цей (запропонований спосіб)

DispatchQueue.main.async {
 your code ... 
} 

АБО також посилайтеся на це .


1

Якщо значення, яке ви намагаєтеся встановити, виявляється цілим числом, а не рядком, вам не потрібно перетворювати ціле число в рядок вручну; ви можете просто зателефонувати:

myLabel.integerValue = i;

integerValueВластивість визначається на NSTextField«S батьківського класу, NSControl. Повний список методів, які він підтримує, див. На пов'язаній сторінці документації.


0

ЦільC:

[label setStringValue: @"I am a label"];

оригінальний код, який я використовую у своєму коді для відображення версії програми:

    [lblVersion setStringValue:[NSString stringWithFormat:@"v%@", [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]]];

-3

просто зроби це

[textField setString:@"random"];

2
неправильно. Так ви налаштували UITextField. Питання стосується какао NSTextField, який є іншою твариною.
Качка
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.