接受用户文本输入字段中的引号

时间:2014-06-12 14:33:12

标签: objective-c

我有一些接受用户输入字符串的代码。它起作用,除非用户输入双引号" "

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]];

......我正在把头撞在桌子上......有什么想法吗?我哪里错了,这是解决这种痛苦的最佳方法......

提前致谢!

1 个答案:

答案 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);
}

我输入以下内容(包括所有单引号和双引号)“这是”'测试'“”。“并且控制台中的结果是:

“这是”'测试'“”。“