0

私のプロジェクトでは、これを行うと

char *string =@"hello";

正常に動作します。しかし、 a に何かを入力してUITextFieldに割り当てるとchar、適切な値が表示されません。

宣言しても

 NSString *string ;
 self.stringVariable = mobileNumberTextField.text;
 char * mobile = string;
 char *c[]= {Enc,Mac,Mobile};
4

2 に答える 2

1

変換を使用してみてください:

テキストフィールドから文字に文字列値を取得する場合:

const char *myCharString = [your_textField.text UTF8String];

必要に応じてその文字を使用します。

逆に、その文字を textField に表示したい場合:

[your_textField setText:[NSString stringWithUTF8String:myCharString]];

それで全部です

于 2012-08-16T11:59:16.480 に答える
0

NSString は Objective-C オブジェクトですが、char ポインターは単純な C ポインター型です。それらを同じ意味で使用することはできません。そうしないと、実行時エラー (セグメンテーション エラーの可能性が最も高い) が発生します。NSString から char ポインターを作成する必要があります (その逆も同様です)。

const char *str = "Something as a C string";
NSString *nsStr = [NSString stringWithCStrint:str encoding:NSUTF8StringEncoding]; // or ASCII
于 2012-08-16T12:07:13.437 に答える