iOS 3.0 が登場したとき、私はいくつかのiOS
開発を行いましたが、2 年間、iOS がどのように機能しているかを把握できませんでした。
あなたがiOS
3.0 で保持していたことを覚えています。これは、これまでのところ私を困惑させている唯一のことです。
最後になりましたが、ARC を使用する iOS 5 ではデフォルトでローカル変数が強力であるという考えがあります。セッターを持たない選手がいるとしたら、どうすれば強くなれるのでしょうか? (例として、id.)
私が何を意味するかを説明するためのいくつかのコード:
+(double) popOperandOffStack:(NSMutableArray *) stack{
double result = 0;
id topOfStack = [stack lastObject];
// how is topOfStack retaining [stack lastObject] if it's simply id?
if (topOfStack) [stack removeLastObject];
if ([topOfStack isKindOfClass:[NSNumber class]]){
result = [topOfStack doubleValue];
}
else if ([topOfStack isKindOfClass:[NSString class]]){
if ([topOfStack isEqualToString:@"+"]){
result = [self popOperandOffStack:stack] + [self popOperandOffStack:stack];
}
if ([topOfStack isEqualToString:@"-"]){
result = [self popOperandOffStack:stack] - [self popOperandOffStack:stack];
}
if ([topOfStack isEqualToString:@"*"]){
result = [self popOperandOffStack:stack] * [self popOperandOffStack:stack];
}
if ([topOfStack isEqualToString:@"/"]){
result = [self popOperandOffStack:stack] / [self popOperandOffStack:stack];
}
}
return result;
}