(http://www.stanford.edu/class/cs193p/cgi-bin/drupal/)메모리 관리
할당이 변수로 계산기를 만드는 것입니다 버튼. 명령 체인 (예 : 3 + x-y)은 "anExpression"으로 NSMutableArray에 저장되고 NSDictionary를 기반으로 x 및 y에 대해 무작위 값을 사용하여 솔루션을 얻습니다. 할당의이 부분은 나를 트립된다
마지막 두 [방법] 속성 목록에서 /에 anExpression을 "변환"당신은 강의에서 기억할 것
+ (id)propertyListForExpression:(id)anExpression;
+ (id)expressionForPropertyList:(id)propertyList;
은 속성 목록은 단지입니다
NSArray, NSDictionary, NSString, NSNumber,
등의 조합으로, anExpression은 이미 속성 목록이므로이 메서드가 필요한 이유는 무엇입니까? (우리가 작성하는 표현식은
NSMutableArrays
이며
NSString
및
NSNumber
개 오브젝트 만 포함되어 있기 때문에 실제로는 이미 속성 목록입니다.) API의 호출자는 anExpression이 속성 목록이라는 것을 모르기 때문에. 이것이 호출자에게 공개하지 않기로 선택한 내부 구현 세부 사항입니다.
anExpression이 이미 속성 목록이므로이 두 메서드의 구현이 쉽다고 생각할 수도 있습니다. 따라서 인수를 바로 반환 할 수 있습니까? 네, 그렇습니다. 이것에 대한 메모리 관리는 약간 까다 롭습니다. 알아낼 수 있도록 최선을 다할 것입니다. 최선을 다해라.
필자는 왜 메모리 관리와 관련하여 무언가를 놓치고 있습니다. 왜 필자가 전달 된 인수를 바로 반환 할 수 없는지 알지 못하기 때문입니다.
미리 답변 해 주셔서 감사합니다.
일종의 접근 자입니다. 감사합니다, 고마워요! – iOSNewb