- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个单例类。在这节课上,我拿着一首歌曲。这个数组不应该改变!在我的应用程序中,当我从我的歌曲列表中选择一首歌曲时,当前歌曲被插入到另一个变量中。这个变量是歌曲类型(数组是歌曲数组)。所以当我写的时候
_myDataMgr._currSong = [_myDataMgr.songArray objectAtIndex:index];
每次我更改此 currSong 变量时,songArray 都会更改,因为 currSong 指向此数组。所以我的问题是如何创建此 currSong 的副本?我对 NSCopy
有所了解,但我不知道如何真正使用它。谢谢你们。P.S: _myDataMgr
是单例
最佳答案
你应该让你的类符合 NSCopying
协议(protocol)。
@interface Song : NSObject <NSCopying>
然后,实现方法copyWithZone:
- (id)copyWithZone:(NSZone *)zone
{
id copy = [[[self class] alloc] init];
if (copy) {
// Copy properties here...
}
return copy;
}
当您需要实例的副本时,只需调用copy
。 (我建议您在单例类中将歌曲插入数组时调用它。)
[myArray insertObject:[song copy]];
关于ios - 如果我的类是单例类,我如何创建指向 NSArray 的复制指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14302151/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!