2
我下面斯坦福CS193P類,我試圖做任務2.我現在有幾個小時盯着同樣的錯誤信息:新手上路! NSCFString stringValue的]:無法識別的選擇發送到實例
我的應用程序中的if語句分解-[NSCFString stringValue]: unrecognized selector sent to instance 0x4b373e0,
試圖代碼
的無盡修改的方法運行,這是一個:
+ (double)evaluateExpression:(id)anExpression
usingVariableValues:(NSDictionary *)variables;
{
CalculatorBrain *evalBrain =[[CalculatorBrain alloc]init];
for (id element in anExpression) {
if([element isKindOfClass:[NSString class]]) {
NSString *elementFirst=[element substringToIndex:1];
if ([elementFirst isEqual:@"v"])
{
NSString *varLookUp = [element substringFromIndex:0];
[evalBrain setOperand:[[variables objectForKey:varLookUp]doubleValue]];
}
else
{
[evalBrain performOperation:element];
}
}
if ([element isKindOfClass:[NSNumber class]]) {
[evalBrain setOperand: [element doubleValue]];
}
}
return [evalBrain operand];
}
它在聲明
if ([elementFirst isEqual:@"v"])
程序崩潰。
感激任何提示!
`elementFirst`的打印值將有所幫助。 – 2011-02-06 14:45:09
我不確定它爲什麼會出錯,但嘗試用[元素hasPrefix:@「v」]替換整個事物。如果substringToIndex或其他東西出現問題,它可能會有所幫助:P另外,你是否確定該錯誤在該語句中? – hauntsaninja 2011-02-06 15:22:42
您可以嘗試記錄整個「anExpression」並繪製看看它是否崩潰的結果嗎?的NSLog(@ 「%@」,anExpression)。如果它崩潰了,那麼問題在於anExpression內容(它是什麼,一個數組,一個字典?)已被釋放。 – viggio24 2011-02-06 16:14:53