Bagaimana Anda mengatur teks di NSTextField?

134

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

Alexsander Akers
sumber
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.)

Ken Aspeslagh
sumber
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";
Jim
sumber
17

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

Alexander
sumber
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 .

Maulik Rajani
sumber
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.

Jon Schneider
sumber
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"]]];
Alp Altunel
sumber
-3

lakukan saja ini

[textField setString:@"random"];
Joe Manto
sumber
2
salah. Ini adalah cara Anda mengatur UITextField. Pertanyaannya adalah tentang Cocoa NSTextField yang merupakan hewan yang berbeda.
Bebek