静的クラス変数を使用して、アプリケーション内の複数のクラス間で共有されるプレイリストオブジェクトの状態を維持したいと考えています。メモリ管理ヘルプ - 静的クラス変数目的C
私のAppDelegateでgetPlaylistを呼び出して、私のinitializeクラスメソッドを呼び出し、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 Yup - それをキャッチするための歓声。 – trojanfoe
すばらしいお返事ありがとうございます。コンソールウィンドウに表示されるはずですが、自動解放プールに関するランタイムの苦情は表示されませんか?再度、感謝します。 –