在我的项目中,如果我这样做
char *string =@"hello";
它运作正常。但是当我在UITextField
中输入内容并将其分配给char
时,它没有显示正确的值。
即使我宣布
NSString *string ;
self.stringVariable = mobileNumberTextField.text;
char * mobile = string;
char *c[]= {Enc,Mac,Mobile};
答案 0 :(得分:1)
尝试使用转换:
当你从textfield获取字符串值到你的char:
const char *myCharString = [your_textField.text UTF8String];
并根据需要使用该字符。
反之,当你想将这个字母显示回textField:
时[your_textField setText:[NSString stringWithUTF8String:myCharString]];
这就是全部
答案 1 :(得分: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