0

私は Mac アプリケーションの構築にまったく慣れていないので、いくつかの異なる手法を試しています。アプリに基本的なログイン (ユーザー名とパスワード) 画面を表示する方法を見つけようとしています。私の方法では、現在、if elseステートメントを使用しようとしています(設定された背景色は、次のウィンドウを開くための一時的な置き換えです)。

- (IBAction)loginb:(id)sender {
if (m_username == [@"haseo98" NSString]){
    [_window setBackgroundColor:[NSColor redColor]];
}
 else [_window setBackgroundColor:[NSColor blackColor]];
}

私の意見では、主な問題は次の行にあります。

 if (m_username == [@"haseo98" NSString]){

XCode に NSTextfield の内容を読み取らせ、それを「haseo98」と比較させるにはどうすればよいですか?

4

1 に答える 1

1

NSTextFieldは であるため、テキスト コンテンツを取得するためにNSControl使用できます。-stringValue

NSString *name = [usernameTextfield stringValue];

文字列を比較するには、次を使用します-isEqualToString:

if ([name isEqualToString:@"haseo98"]){

を使用して文字列を比較し== ても、通常は期待どおりの結果が得られず、文字列リテラル ( @"text") は既にNSStringインスタンスであることに注意してください。

于 2012-07-21T07:06:43.533 に答える