0
아래는 항상 null을 반환하는 클래스 메서드입니다. 예를 들어 stack = 2,2, "+" "2 + 2"를 반환하려고합니다.CS193P - 할당 2, descriptionOfTopOfStack :, 재귀 클래스 메서드
초기 반복에서는 방법은 제대로 topOfStack 오히려의 NSNumber보다있는 NSString입니다 결정하지만, 내가 모르는 뭔가가있어 기분이 재귀
를 호출하여 "2 + 2"와 동일 할 수는 NSString '설명'을 만들지 않습니다이다 여기 분명히, 나는 문자열을 올바르게 다루고있다 ....
+ (NSString *) descriptionOfTopOfStack: (NSMutableArray *) stack
{
NSString *description;
id topOfStack = [stack lastObject]; // get last object
if (topOfStack) [stack removeLastObject]; // then remove it from stack
if ([topOfStack isKindOfClass:[NSNumber class]]) { // is last object a number?
return [topOfStack stringValue]; // if so then return it, **done***
}
else if ([topOfStack isKindOfClass:[NSString class]])
{
if ([topOfStack isEqualToString:@"+"])
{
[description stringByAppendingString: [self descriptionOfTopOfStack:stack]];
[description stringByAppendingString:@"+"];
[description stringByAppendingString: [self descriptionOfTopOfStack:stack]];
}
}
NSLog(@"Description is %@", description);
return description;
}
옙, 그것은 고마운 일을 처리합니다 – John67
나는 변하지 않는 문자열을 변경하려고합니다. 도! – John67