问题标签 [nscopying]

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 投票
2 回答
2000 浏览

iphone - copyWithZone 问题

我正在尝试通过执行以下操作来复制我的 UIViewController 子类:

我有以下错误:

0 投票
1 回答
184 浏览

ios - UILocalNotification - 可变复制

概述:

  • 我正在复制一个实例UILocalNotification并将其更改为新创建的实例
  • 然后我安排新创建的实例UILocalNotification

我是如何复制的

  • UILocalNotification通过调用方法来复制实例copy

问题

  1. 我是在做正确的事情还是应该使用不同的方法来创建可变副本。(mutableCopy未实现UILocalNotification
  2. 复制实际上是可变复制吗?
  3. 是否有必要创建一个副本,无论如何都会scheduleLocalNotification:创建一个新副本?
0 投票
2 回答
3660 浏览

iphone - 如何创建 uiview 的副本(不是指向原始 uiview 的指针)

我想创建 a 的副本,但UIView我不想使用NSKeyedArchiver,因为我经常创建许多视图的副本,并且使用NSKeyedArchiver速度很慢。

我听说过copyor initWithZone:,但谷歌搜索它发现它并不适合UIView。我不想要指向原始视图的副本,因为对其所做的任何更改也会对复制的UIView.

0 投票
0 回答
517 浏览

objective-c - 这是实现 NSMutableCopying 的合理模式吗?

我正在寻找实现NSMutableCopying接口,因为我有一组不可变的对象,但我还需要能够创建修改后的副本。假设我们有一个定义类似这样的电影(当然,真的会有更多的属性):

根据我的阅读,如果您需要在构造函数之外设置 ivars,就像我将在这里实现的那样NSCopying,那么为它们定义私有 setter 是一种很好的做法。所以我最终会得到这样的实现BBMovie(请注意,这些类型并非旨在允许子类化):

现在,鉴于我知道BBMovie实现具有属性的 getter 和 setter,看来我应该能够BBMutableMovie简单地实现:

这种方法有什么问题,和/或我遗漏了什么吗?

当然,我意识到 BBMovie 实现并不是真正不可变的,因为如果库的消费者发送它会响应设置的消息,但这对我来说并不是真正的问题,因为它不会带来安全风险并且会下降在图书馆的“正常”使用之外。

0 投票
2 回答
109 浏览

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

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

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

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

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

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

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

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

这是 Mac 控制台中的错误:

这是来自崩溃报告:

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

0 投票
3 回答
724 浏览

ios - 在ios中 NSString = NSString 会导致内存泄漏吗?

我已经看到了一些答案,但这些答案还不够扩展,我认为它们是在引入 ARC 之前。

所以如果我有两个 NSSstring 我可以设置

或者

不会导致内存泄漏或其他问题?

编辑:视图控制器或委托属性设置为(复制,非原子)怎么样?

Edit2:它应该是 NSString *al=@"String"。我希望这不会改变它不会泄漏的想法。

0 投票
2 回答
3653 浏览

objective-c - “-copy”和“-copyWithZone:”有什么区别?

我知道 copy 创建一个对象的不可变副本,但我只想知道 copywithzone 是如何工作的,以及 copy 和 copywithzone 之间的基本区别是什么

0 投票
1 回答
4712 浏览

ios - 不兼容的指针类型将“类”发送到“id”类型的参数'

我已经更新了 xcode,现在我收到错误消息不兼容的指针类型将“类”发送到“id”类型的参数

p>

如果有人能对我遇到的这个问题以及我如何解决它有所了解,我将不胜感激。

0 投票
1 回答
363 浏览

objective-c - NSCopying 和 Objective-C 内存管理

Apple 的 NSCopying文档状态copyWithZone:返回一个由发件人隐式保留的对象。因此,当将该对象添加到 anNSMutableArray时,似乎应该向该对象发送一条autorelease消息以保持保留计数平衡(因为数组将保留该对象)。

因此,要将一个数组的内容深度复制到另一个数组,我希望是这样的:

但是我在这个答案中注意到了一种不同的方法。似乎[ret addObject:[val copy]]是内存泄漏。但是我是新手,NSCopying所以我想我会问:将复制的对象添加到数组时,是否应该向对象发送自动释放消息以保持保留计数平衡?

编辑 - 更多信息:Clang 报告删除自动释放后潜在的内存泄漏。也许链接的答案假定copy返回一个由发件人隐式保留的对象。

0 投票
3 回答
2344 浏览

objective-c - NSCoding VS NSCopying

NSCoding 和 NSCopying 在底层的真正区别是什么?

另外,它们应该独立使用,一起使用还是什么时候使用哪个好?