NSTextField öğesindeki metni nasıl ayarlarsınız?


134

Bir NSTextField metin ayarlamak için çalışıyorum, ama -setStringValue:ve -setTitleWithMnemonic:yöntemleri çalışmıyor. Herhangi bir fikir?


NSTextField öğeniz bir IBOutlet olarak referansta bulunuyor ve düzgün bir şekilde eklenmiş mi (Arayüz Oluşturucusu'nu kullanıyorsanız ...)
jlindenbaum

Yanıtlar:


229

setStringValue:bunu yapmanın yolu. Prizin doğru ayarlandığından emin olmalısınız. (Hata ayıklayıcıda, metin alanı değişkeninizin boş olmadığından emin olun.)


22
Swift'te bunu yapmanın yolu sadece stringValue, o zaman istediğiniz dizeye ayarlayabilirsiniz.
Christopher Spencer

43

Sadece böyle bir şey yapın:

myLabel.stringValue = @"My Cool Text";

17

Sadece myLabel.stringValue = "MY TEXT"Swift ve Xcode 6 kullanarak, burada çalışıyor.


Bu, en son geliştirici ortamı için iyi bir cevaptır. Neden bu NSTextField belgelerinin bir parçası değil? Önce oraya gittim ve bunu yapmanın gerçekten açık olacağını düşündüm, ama orada değildi ... EDIT: Buldum, sadece "Konular" ın bariz yerinde değil, çünkü stringValue aslında bir üst sınıf NSControl özelliği ve "Genel Bakış" görünür
wllychng

8

Hızlı 4

self.yourTextField.stringValue = "Your_Value"

Not: self.yourTextField.stringValue değerinden değer alınıyorsa uyarı mesajı alırsınız. Uyarı mesajı Bu tür bir uyarıyı önlemek için şu şekilde kullanabilirsiniz (önerilen yol)

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

YA da bakın bu .


1

Ayarlamaya çalıştığınız değer bir dize yerine bir tamsayı olursa, tamsayı değerini bir dizeye manuel olarak dönüştürmeniz gerekmez; sadece şunu arayabilirsiniz:

myLabel.integerValue = i;

integerValueÖzelliği ile tanımlanır NSTextField, bireyin üst sınıfı NSControl. Desteklediği yöntemlerin tam listesi için bu bağlantılı belgeler sayfasına bakın.


0

ObjectiveC:

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

Uygulama sürümünü görüntülemek için kodumda kullandığım orijinal kod:

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

-3

sadece bunu yap

[textField setString:@"random"];

2
yanlış. Bu şekilde a UITextField. Soru, farklı bir hayvan olan Kakao NSTextField hakkında.
Ördek
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.