Bagaimana Anda mengatur teks di NSTextField?


134

Saya mencoba untuk mengatur teks dalam NSTextField, tetapi metode -setStringValue:dan -setTitleWithMnemonic:tidak berfungsi. Ada ide?


Apakah NSTextField Anda dirujuk sebagai IBOutlet dan terpasang dengan benar (jika Anda menggunakan Interface Builder yang ...)
jlindenbaum

Jawaban:


229

setStringValue:adalah cara untuk melakukannya. Anda harus memastikan outlet Anda diatur dengan benar. (Di debugger, pastikan variabel textfield Anda tidak nol.)


22
Cara untuk melakukan ini di Swift adalah adil stringValue, maka Anda dapat mengaturnya ke string apa pun yang Anda inginkan.
Christopher Spencer

43

Lakukan sesuatu seperti ini:

myLabel.stringValue = @"My Cool Text";

17

Hanya myLabel.stringValue = "MY TEXT"berfungsi di sini, menggunakan Swift dan Xcode 6.


Ini adalah jawaban yang bagus untuk lingkungan pengembang terbaru. Tapi mengapa ini bukan bagian dari dokumentasi NSTextField? Saya pergi ke sana dulu dan berpikir akan sangat jelas untuk menemukan cara melakukan ini, tetapi ternyata tidak ada di sana ... EDIT: Saya menemukannya, itu tidak ada di tempat yang jelas "Topik", karena stringValue sebenarnya adalah properti kelas induk NSControl, dan muncul di "Ikhtisar"
wllychng

8

Cepat 4

self.yourTextField.stringValue = "Your_Value"

Catatan: Mengambil nilai dari self.yourTextField.stringValue saat itu akan mendapatkan pesan peringatan yaitu Pesan peringatan Untuk menghindari peringatan semacam ini, Anda dapat menggunakan seperti ini (cara yang disarankan)

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

ATAU juga lihat ini .


1

Jika nilai yang Anda coba setel ternyata bilangan bulat, bukan string, Anda tidak perlu mengonversi nilai bilangan bulat menjadi string secara manual; Anda cukup menelepon:

myLabel.integerValue = i;

The integerValueproperti didefinisikan pada NSTextField's kelas induk, NSControl. Lihat halaman dokumentasi tertaut untuk daftar lengkap metode yang didukungnya.


0

ObjectiveC:

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

kode asli yang saya gunakan dalam kode saya untuk menampilkan versi aplikasi adalah:

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

-3

lakukan saja ini

[textField setString:@"random"];

2
salah. Ini adalah cara Anda mengatur UITextField. Pertanyaannya adalah tentang Cocoa NSTextField yang merupakan hewan yang berbeda.
Bebek
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.