NSTextField에서 텍스트를 어떻게 설정합니까?


134

NSTextField에서 텍스트를 설정하려고하는데 -setStringValue:-setTitleWithMnemonic:메소드가 작동하지 않습니다. 어떤 아이디어?


NSTextField가 IBOutlet으로 참조되고 올바르게 첨부되어 있습니까 (인터페이스 빌더를 사용하는 경우 ...)
jlindenbaum

답변:


229

setStringValue:그렇게하는 방법입니다. 콘센트가 올바르게 설정되어 있는지 확인해야합니다. 디버거에서 텍스트 필드 변수가 null이 아닌지 확인하십시오.


22
Swift 에서이 작업을 수행하는 방법은 그냥 stringValue이며 원하는 문자열로 설정할 수 있습니다.
Christopher Spencer

43

다음과 같이하십시오.

myLabel.stringValue = @"My Cool Text";

17

그냥 myLabel.stringValue = "MY TEXT"스위프트와 엑스 코드 (6)을 사용하여, 여기에 작동합니다.


이것은 가장 최근의 개발 환경에 대한 좋은 답변입니다. Btw 왜 이것이 NSTextField 문서의 일부가 아닌가? 나는 먼저 거기에 가서 이것을하는 방법을 찾는 것이 분명하다고 생각했지만 거기에 없었습니다 ... 편집 : 나는 그것을 발견했습니다. stringValue는 실제로 "Topics"의 명백한 장소에 있지 않습니다. NSControl의 상위 클래스 NSControl의 속성이며 "개요"에
표시됨

8

스위프트 4

self.yourTextField.stringValue = "Your_Value"

참고 : self.yourTextField.stringValue에서 값을 가져 오면 경고 메시지가 나타납니다. 예 경고 메시지 를 들어 이런 종류의 경고를 피하기 위해 다음과 같이 사용할 수 있습니다 (추천 방법)

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

또는도를 참조하십시오 .


1

설정하려는 값이 문자열이 아닌 정수인 경우 정수 값을 문자열로 수동으로 변환 할 필요가 없습니다. 당신은 전화 할 수 있습니다 :

myLabel.integerValue = i;

integerValue속성은 NSTextField의 부모 클래스 에 정의되어 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입니다. 문제는 다른 동물 인 Cocoa NSTextField에 관한 것입니다.
Duck
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.