したがって、私の問題は基本的にこれです。数値と文字列の可変配列を解析して、変数を見つけようとしています。正常に動作するプライベート ヘルパー メソッドと、操作 (@"+"、@"-" など) と変数 (@"x"、@"y" など) の違いがあります。問題は、下のelseブロックのコードが機能しないことです。@"x" または @"y" を使用して、else ステートメントの内部に入ることができますが、作成しようとしている NSSet が機能しません。私は NSLog(ging) を「戻り変数が空です」のままにしています。何か案は?
+ (NSSet *)variablesUsedInProgram:(id)program
{
NSMutableArray *stack;
if([program isKindOfClass:[NSArray class]]){
stack = [program mutableCopy];
}
NSSet *returnVariables = nil;
for (int i=0; i<stack.count; i++) {
if ([[stack objectAtIndex:i] isKindOfClass:[NSString class]]) {
if ([self isOperation:[stack objectAtIndex:i]]) {
continue;
} else {
returnVariables = [returnVariables setByAddingObject:[stack objectAtIndex:i]];
if (returnVariables.count == 0) {
NSLog(@"returnVariables is empty");
}
}
}
}
return returnVariables;
}