정적 클래스 변수를 사용하여 내 앱의 여러 클래스간에 공유되는 재생 목록 개체의 상태를 유지하려고합니다.메모리 관리 도움말 - 정적 클래스 변수 목표 C
내 AppDelegate에서 getPlaylist를 호출하여 클래스 초기화 메서드를 호출하고 MSMutableArray를 설정합니다.
그러나 addItemToPlaylist를 호출하면 콘텐츠 변수가 더 이상 NSMutableArray의 정적 인스턴스가 아닙니다. 대신 그것은 메모리에서 완전히 다른 주소, 즉 디버그 할 때마다 다른 주소를 가리 킵니다.
나는 분명히 잘못하고 있습니까? 미리 감사드립니다.
#import "Playlist.h"
static NSMutableArray *content;
@implementation Playlist
+ (void)initialize
{
content = [NSMutableArray arrayWithCapacity:10];
}
+ (NSMutableArray *)getPlaylist
{
if ([content count] == 0)
return nil;
return content;
}
+ (void)addItemToPlaylist:(PlaylistTrack *)track;
{
[content addObject:track];
}
'[[NSMutableArray alloc] initWithCapacity :]'정확히 – Lvsti
@Lvsti 예 - 그걸 잡으려고 들려주세요. – trojanfoe
놀라운 답글을 보내 주셔서 감사합니다. autorelease 풀에 대한 런타임 불만 사항이 콘솔 창에 나타나야합니까? 다시 한번 감사드립니다. –