0

我有一个函数可以从字符串转换 html 符号,然后将它们插入到 NSDictionary 中。我猜它可能是方法或语法错误。

转换html值的函数:

  - (NSString *)convertMathSymbol:(NSString *)str{

         str = [str stringByReplacingOccurrencesOfString:@"−" withString:@"− "];
         str = [str stringByReplacingOccurrencesOfString:@"÷" withString:@"÷ "];
         str = [str stringByReplacingOccurrencesOfString:@"&multiply;" withString:@"× "];

         return str;
    }

插入 NSDictionary:

 NSString *tempAns1 = [[sample objectAtIndex:0]objectAtIndex:1];
 [answer setObject:[[self convertMathSymbol:tempAns1] forKey:@"1"]];

错误:

No visible @interface for 'NSString' declares the selector 'forKey:'

欣赏任何指针......提前谢谢......

4

3 回答 3

3

正在向 NSString* 发送消息,让我告诉您如何操作。

你有:

 [answer setObject:[[self convertMathSymbol:tempAns1] forKey:@"1"];

去掉答案字典接收器,你得到:

 [[self convertMathSymbol:tempAns1] forKey:@"1"];

明白了吗?

尝试:

 [answer setObject:[self convertMathSymbol:tempAns1] forKey:@"1"];
于 2012-05-25T04:00:08.183 回答
2

您在第二行的括号不平衡。你有 3 个 ['s 和 2 ]'s。

于 2012-05-25T04:01:04.193 回答
2

改变这个

[answer setObject:[[self convertMathSymbol:tempAns1] forKey:@"1"];

对此:

[answer setObject:[self convertMathSymbol:tempAns1] forKey:@"1"];

你有一个额外的 '[' 之前[self convertMathSymbol:tempAns1'会使编译器感到困惑。您编写它的方式是forKey:[self convertMathSymbol:tempAns1]. 很简单...

于 2012-05-25T03:59:59.743 回答