Ios 如果我的类是singleton类,如何创建指向NSArray的复制指针?
我有一个单身班。在这节课上,我拿着一系列的歌曲。此数组不应更改!在我的应用程序中,当我从歌曲列表中选择一首歌曲时,当前歌曲将插入到另一个变量中。这个变量是歌曲类型(数组是歌曲数组)。所以当我写作的时候Ios 如果我的类是singleton类,如何创建指向NSArray的复制指针?,ios,objective-c,cocoa-touch,Ios,Objective C,Cocoa Touch,我有一个单身班。在这节课上,我拿着一系列的歌曲。此数组不应更改!在我的应用程序中,当我从歌曲列表中选择一首歌曲时,当前歌曲将插入到另一个变量中。这个变量是歌曲类型(数组是歌曲数组)。所以当我写作的时候 _myDataMgr._currSong = [_myDataMgr.songArray objectAtIndex:index]; 每次我更改此currSong变量时,songArray都会更改,因为currSong指向此数组。所以我的问题是,我怎样才能复制这首歌?我知道一些有关NSCopy的
_myDataMgr._currSong = [_myDataMgr.songArray objectAtIndex:index];
每次我更改此currSong变量时,songArray都会更改,因为currSong指向此数组。所以我的问题是,我怎样才能复制这首歌?我知道一些有关NSCopy的事情,但我真的不知道如何使用它。谢谢大家。
另外:
\u myDataMgr
是单例的你应该让你的类符合
复制协议
@interface Song : NSObject <NSCopying>
当您需要实例的副本时,只需调用copy
。(我建议在singleton类中将歌曲插入数组时调用此函数。)
哇,太快了:)但我怎么能用它呢?需要创建副本时调用此方法?(我只需要在特定的印刷机中插入)
- (id)copyWithZone:(NSZone *)zone
{
id copy = [[[self class] alloc] init];
if (copy) {
// Copy properties here...
}
return copy;
}
[myArray insertObject:[song copy]];