问题标签 [copywithzone]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1307 浏览

objective-c - NSCopying 和 copyWithZone: - 他们应该返回 [self retain] 还是其他东西?

我很难理解 copyWithZone。

我知道它应该返回一个副本,但是如果我将一个对象添加到字典中,它会在字典中添加一个“copyWithZone”对象。如果我制作一个实际的副本(即一个新对象),那么添加到字典中的对象将不是同一个对象。但是,如果我只增加保留计数,那么从技术上讲它不是副本。

我应该保留自我还是制作实际副本?

0 投票
1 回答
1253 浏览

ipad - iOS copyWithZone 仅在使用设备时无法识别选择器

我正在开发一个 iPad 应用程序,该应用程序仅在 sqlite 数据库中有某些数据时才启动初始屏幕,如下所示:

该代码在应用程序委托中。我面临的问题是这在 iOS 模拟器中运行良好,但是当我尝试在 iPad 上运行时,出现以下错误:

0 投票
2 回答
1991 浏览

objective-c - 为什么 iOS 类不采用 copyWithZone 协议来鼓励主动 mem mgt?

最近在使用 Cocoa 后转向 iOS,我惊讶地收到一个带有以下错误的 SIGABRT:“-[UIDeviceRGBColor copyWithZone:]: unrecognized selector sent to instance...”我在 UIColor 上调用了“copy”。

我查看了类引用,并且,与 NSColor 相比,UIColor 没有采用任何协议。

现在,这没什么大不了的。我只是试图通过主动拥有颜色实例来提高效率,以便在使用后立即丢弃它。但我认为 Apple 在 iOS 中省略垃圾收集器的目的是鼓励开发人员做我正在做的事情,在内存不足、电池挑战的便携式设备上保持精简的内存配置文件。

关于苹果的理由有什么想法,还是我的假设有一些错误?

0 投票
4 回答
48378 浏览

iphone - 实施 copyWithZone 时的最佳实践:

我正试图澄清一些关于实施的事情copyWithZone:,任何人都可以对以下内容发表评论......

在 001 中:

  1. 最好直接写类名[[Crime allocWithZone:zone] init]还是应该使用[[[self Class] allocWithZone:zone] init]

  2. 可以[self month]用于复制 iVar 还是我应该直接访问 iVar _month

0 投票
2 回答
75 浏览

iphone - 如何在与旧区域相同的区域中复制 MutableArray?

如何像旧数组一样添加可变数组?

我尝试了这段代码,但它不起作用:

0 投票
1 回答
116 浏览

objective-c - 实现 copyWithZone 的 GKSession 对象的副本

我想制作一个 GKSession 对象的副本,并按如下方式实现 copyWithZone:

尽管如此,我并没有获取初始对象的副本,而是对其进行引用。

我错过了什么……;

copyWithZone 的实现是复制 GKSession 对象的方法,或者不是?

提前致谢...!

0 投票
7 回答
33488 浏览

iphone - [UILabel copyWithZone:]:无法识别的选择器发送到实例

我觉得我在这里用头撞墙(坦率地说,我已经准备好这样做了)。

我正在尝试为视图设置背景。我需要设置的背景是一个图像,我正在使用这个代码(它在其他两个 UIViewController 子类中工作得很好——这是一个复制/粘贴到新文件中):

正如我所说,这在另外两个地方工作得很好,但是在这里,线self.view.backgroundColor = bg抛出

没有更多的事情要做。我在 IB 中验证了顶级视图的引用出口设置为文件的所有者。我清理了项目并重新启动。我什至关闭了 Xcode 并重新启动它 - 不走运。我还缺少什么?

编辑: 正如我所提到的,没有太多的回溯堆栈跟踪,只是这个:

没有别的——之前或之后。

0 投票
2 回答
109 浏览

memory - 获取和更改 NSMutableArray 对象的问题

我有一个名为organizations的 NSMutableArray ,它是我从 NSObject 子类化的一个类的自定义对象数组,这个子类称为NSXOrganisation。这个子类确实像这样实现NSCopy

现在,我像这样分配和初始化数组:

这一切都很好。为了测试,数组中有 2 个对象

接下来,当调用一个方法时,我会像这样更新数组中的一个对象:

其中tfPropertyOne * 是显示屏上的 NSTextField(正确绑定等)。这也很好用,因为我已经用 NSLog 进行了测试,它输出了正确的结果。然后我在数组中的不同索引上调用显示方法以查看其相关详细信息:

index是一个本地的 NSInteger 并且不是问题。然后我在这个对象上调用相同的更新方法,这显然也可以正常工作(使用 NSLog 进行测试)。

最后,当我调用返回并显示数组[self displayOrganisation:0]中的第一个对象时,调用成功,但调用getPropertyOne时我的应用程序崩溃。

这是 Mac 控制台中的错误:

这是来自崩溃报告:

任何人都可以帮忙吗?我是否错误地访问/创建/存储对象到数组中?

0 投票
2 回答
2376 浏览

objective-c - NSmanagedObject copyWithZone 问题

我有一个自定义类 Thing:NSManagedObject,其属性为 adminName。

我试图在这个 Thing 类中创建一个 copyWithZone 函数,但是当我运行应用程序时,它说 setAdminName 不存在。

在我正在使用的实现文件中

我不相信我可以将@dynamic 更改为@synthesize,因为我使用的是Core Data。

0 投票
1 回答
349 浏览

c++ - 意外调用copyWithZone c++ cocos2d

我有一些麻烦。

我做了一些接口(c++ 中的抽象类)。在我的类中实现它(也从 CCObject 派生)。在第三堂课中,我尝试调用接口的方法并获得 SIGABORT。这里的代码

调用使copyWithZone我的应用程序崩溃