我有一些接受用户输入字符串的代码。它起作用,除非用户输入双引号" "
if([variableValue isKindOfClass:[NSString class]]) {
input=[input stringByAppendingString:[NSString stringWithFormat:@"set %@ to (\"%@\" as text)\n",variableName,variableValue,nil]];
我试过这段代码,但它似乎没有用......
if([variableValue isKindOfClass:[NSString class]]) {
NSString *stringValue = (NSString *) variableValue;
stringValue=[stringValue stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""];
input=[input stringByAppendingString:[NSString stringWithFormat:@"set %@ to (\"%@\" as text)\n",variableName,stringValue,nil]];
......我正在把头撞在桌子上......有什么想法吗?我哪里错了,这是解决这种痛苦的最佳方法......
提前致谢!
答案 0 :(得分:1)
如果你正在使用UITextfield,你不必做任何特别的事情......我只是在新的UIViewController中使用了下面的代码:
- (id)init {
self = [super init];
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(test)];
self.textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 80, 300, 30)];
self.textField.backgroundColor = [UIColor lightGrayColor];
[self.view addSubview:self.textField];
}
- (void)test {
NSLog(@"%@", self.textField.text);
}
我输入以下内容(包括所有单引号和双引号)“这是”'测试'“”。“并且控制台中的结果是:
“这是”'测试'“”。“