アプリ内の複数のクラス間で共有される Playlist オブジェクトの状態を維持するために、静的クラス変数を使用したいと考えています。
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];
}