问题标签 [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.
iphone - copyWithZone 问题
我正在尝试通过执行以下操作来复制我的 UIViewController 子类:
我有以下错误:
ios - UILocalNotification - 可变复制
概述:
- 我正在复制一个实例
UILocalNotification
并将其更改为新创建的实例 - 然后我安排新创建的实例
UILocalNotification
我是如何复制的
- 我
UILocalNotification
通过调用方法来复制实例copy
问题
- 我是在做正确的事情还是应该使用不同的方法来创建可变副本。(
mutableCopy
未实现UILocalNotification
- 复制实际上是可变复制吗?
- 是否有必要创建一个副本,无论如何都会
scheduleLocalNotification:
创建一个新副本?
iphone - 如何创建 uiview 的副本(不是指向原始 uiview 的指针)
我想创建 a 的副本,但UIView
我不想使用NSKeyedArchiver
,因为我经常创建许多视图的副本,并且使用NSKeyedArchiver
速度很慢。
我听说过copy
or initWithZone:
,但谷歌搜索它发现它并不适合UIView
。我不想要指向原始视图的副本,因为对其所做的任何更改也会对复制的UIView
.
objective-c - 这是实现 NSMutableCopying 的合理模式吗?
我正在寻找实现NSMutableCopying
接口,因为我有一组不可变的对象,但我还需要能够创建修改后的副本。假设我们有一个定义类似这样的电影(当然,真的会有更多的属性):
根据我的阅读,如果您需要在构造函数之外设置 ivars,就像我将在这里实现的那样NSCopying
,那么为它们定义私有 setter 是一种很好的做法。所以我最终会得到这样的实现BBMovie
(请注意,这些类型并非旨在允许子类化):
现在,鉴于我知道BBMovie
实现具有属性的 getter 和 setter,看来我应该能够BBMutableMovie
简单地实现:
这种方法有什么问题,和/或我遗漏了什么吗?
当然,我意识到 BBMovie 实现并不是真正不可变的,因为如果库的消费者发送它会响应设置的消息,但这对我来说并不是真正的问题,因为它不会带来安全风险并且会下降在图书馆的“正常”使用之外。
memory - 获取和更改 NSMutableArray 对象的问题
我有一个名为organizations的 NSMutableArray ,它是我从 NSObject 子类化的一个类的自定义对象数组,这个子类称为NSXOrganisation。这个子类确实像这样实现NSCopy:
现在,我像这样分配和初始化数组:
这一切都很好。为了测试,数组中有 2 个对象。
接下来,当调用一个方法时,我会像这样更新数组中的一个对象:
其中tfPropertyOne * 是显示屏上的 NSTextField(正确绑定等)。这也很好用,因为我已经用 NSLog 进行了测试,它输出了正确的结果。然后我在数组中的不同索引上调用显示方法以查看其相关详细信息:
index是一个本地的 NSInteger 并且不是问题。然后我在这个对象上调用相同的更新方法,这显然也可以正常工作(使用 NSLog 进行测试)。
最后,当我调用返回并显示数组[self displayOrganisation:0]中的第一个对象时,调用成功,但调用getPropertyOne时我的应用程序崩溃。
这是 Mac 控制台中的错误:
这是来自崩溃报告:
任何人都可以帮忙吗?我是否错误地访问/创建/存储对象到数组中?
ios - 在ios中 NSString = NSString 会导致内存泄漏吗?
我已经看到了一些答案,但这些答案还不够扩展,我认为它们是在引入 ARC 之前。
所以如果我有两个 NSSstring 我可以设置
或者
不会导致内存泄漏或其他问题?
编辑:视图控制器或委托属性设置为(复制,非原子)怎么样?
Edit2:它应该是 NSString *al=@"String"。我希望这不会改变它不会泄漏的想法。
objective-c - “-copy”和“-copyWithZone:”有什么区别?
我知道 copy 创建一个对象的不可变副本,但我只想知道 copywithzone 是如何工作的,以及 copy 和 copywithzone 之间的基本区别是什么
ios - 不兼容的指针类型将“类”发送到“id”类型的参数'
我已经更新了 xcode,现在我收到错误消息不兼容的指针类型将“类”发送到“id”类型的参数
p>如果有人能对我遇到的这个问题以及我如何解决它有所了解,我将不胜感激。
objective-c - NSCopying 和 Objective-C 内存管理
Apple 的 NSCopying文档状态copyWithZone:
返回一个由发件人隐式保留的对象。因此,当将该对象添加到 anNSMutableArray
时,似乎应该向该对象发送一条autorelease
消息以保持保留计数平衡(因为数组将保留该对象)。
因此,要将一个数组的内容深度复制到另一个数组,我希望是这样的:
但是我在这个答案中注意到了一种不同的方法。似乎[ret addObject:[val copy]]
是内存泄漏。但是我是新手,NSCopying
所以我想我会问:将复制的对象添加到数组时,是否应该向对象发送自动释放消息以保持保留计数平衡?
编辑 - 更多信息:Clang 报告删除自动释放后潜在的内存泄漏。也许链接的答案假定copy
返回一个未由发件人隐式保留的对象。
objective-c - NSCoding VS NSCopying
NSCoding 和 NSCopying 在底层的真正区别是什么?
另外,它们应该独立使用,一起使用还是什么时候使用哪个好?