私のプロジェクトでは、これを行うと
char *string =@"hello";
正常に動作します。しかし、 a に何かを入力してUITextField
に割り当てるとchar
、適切な値が表示されません。
宣言しても
NSString *string ;
self.stringVariable = mobileNumberTextField.text;
char * mobile = string;
char *c[]= {Enc,Mac,Mobile};
私のプロジェクトでは、これを行うと
char *string =@"hello";
正常に動作します。しかし、 a に何かを入力してUITextField
に割り当てるとchar
、適切な値が表示されません。
宣言しても
NSString *string ;
self.stringVariable = mobileNumberTextField.text;
char * mobile = string;
char *c[]= {Enc,Mac,Mobile};
変換を使用してみてください:
テキストフィールドから文字に文字列値を取得する場合:
const char *myCharString = [your_textField.text UTF8String];
必要に応じてその文字を使用します。
逆に、その文字を textField に表示したい場合:
[your_textField setText:[NSString stringWithUTF8String:myCharString]];
それで全部です
NSString は Objective-C オブジェクトですが、char ポインターは単純な C ポインター型です。それらを同じ意味で使用することはできません。そうしないと、実行時エラー (セグメンテーション エラーの可能性が最も高い) が発生します。NSString から char ポインターを作成する必要があります (その逆も同様です)。
const char *str = "Something as a C string";
NSString *nsStr = [NSString stringWithCStrint:str encoding:NSUTF8StringEncoding]; // or ASCII