当 iOS 3.0 发布时,我做了一些iOS
开发工作,但两年来我都忘记了 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;
}