问题标签 [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.
ios - NSCopying 协议不起作用
我正在尝试复制一个对象,并且我已经实现了该NSCopying
协议,如下所示:
这是我的实现文件的样子:
当我尝试通过实现此方法进行复制时:
我仍然收到错误:
*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[RLMAccessor_v0_MyActivity copyWithZone:]:无法识别的选择器发送到实例 0x7fe5e0c2c0a0”
该类MyActivity
是 的子类RLMObject
,因此我不确定这是否与该问题有关。有人可以指出我正确的方向吗?
ios - 如何使用不是 NSCopying 的 id 键存储数据
我需要实现一个MKMapView
在某种意义上模仿的界面。具体来说,我需要支持方法
在内部有一个映射,它将注释映射到一个UIView
对象(可能为空)。
那么我应该如何存储这些注解和对应的视图呢?自然的选择是NSMutableDictionary
:
但它不起作用,因为没有保证id<MyAnnotation>
符合NSCopying
。
我考虑过保存id<MyAnnotation>
到原始指针,然后将指针存储到NSNumber
(符合NSCopying
)。但我不确定这是一个好主意以及如何安全地实施它。
ios - 符合 Swift 中的 NSMutableCopying?
NSMutableCopying
我的问题很简单:在我自己的 Swift 类上符合协议的最佳方法是什么(可能带有一些代码解释)?
ios - [NSDictionary copy] 方法是如何工作的?
我只想知道里面的技术。
它是否枚举所有键/值或复制方法是线程安全的?
如果我在后台线程上执行 [dict copy](dict is a NSMutableDictionary),并在主线程上更新 dict,它会崩溃吗?
代码:
swift - 复制 NSTableView 行灰显
我想为用户选择的一行(或多行)向我的 NSTableView 添加复制(Command + C)功能。根据我阅读的内容,如果您在 TableView Controller Delegate中实现复制,菜单项中的复制功能应该会自动激活。
我尝试在 NSTableViewController (是表视图的委托和数据源)中添加以下内容,但没有成功,复制菜单项仍然显示为灰色:
- override func copy() -> AnyObject { print("TEST: copytriggered") /在这里我将复制到剪贴板选定的行/ 返回 true }
2.符合NSCopying,实现copyWithZone...
3. 在窗口控制器和应用委托中尝试 1 和 2。
- 添加 func tableView(_ tableView: NSTableView, pasteboardWriterForRow row: Int) -> NSPasteboardWriting? 在 TableView 数据源中。
我现在不知道该怎么做,任何帮助表示赞赏。
谢谢,
马克
swift - 无法制作领域列表符合 NSCopying
我正在尝试使 List< T > 符合 NSCopying。我不能因为:
- 泛型类的扩展不支持 @objc。
- 我不能继承 List 因为它是最终类。
- 如果我在没有标记符合 NSCopying 的情况下实现“公共 func 复制(带有区域:NSZone?= nil)-> 任何”。我只是得到错误:“...copyWithZone:]:无法识别的选择器发送到实例”
因此,虽然 List<T> 中有 copy(),但我们永远无法真正使用它。
当前我必须使用迭代在 List< T > 之外制作副本。我不能简单地使用 instanceOfList.copy()。
ios - Swift 3.0 中的 Date.copy()
自从切换到 Swift 3.0,以及随之而来的 NSDate 更改为 Date,该类不再符合 NSCopying 协议。
在 Swift 2 中,这是有效的:
但现在返回编译器错误。
在这种情况下,复制 Date 对象的最佳方法是什么?
这可以解决问题,但它似乎并不特别优雅。并且它可能(理论上)容易受到精度损失的影响,因为 TimeInterval 是 Double (我们无法确认 Date 对象内部使用 - 或将始终使用 - Double)。
objective-c - 传递对象时数据丢失
我有一个对象
我知道当我填充此对象时它是成功的,并且所有属性都已完全正确地初始化。
但是,当我像这样传递这个对象时:
*这是一个不同的类(它不在上面定义的 NSObject 中)。
question.nextQuestion
并且question.previousQuestion
是nil
。
为什么当我传递这个对象时,后续对象(下一个问题和上一个问题)会变成 nil?似乎该对象正在执行浅拷贝而不是深拷贝,但不确定。
似乎有一些我不知道的基础知识。
ios - 浅拷贝与深拷贝问题 iOS Swift
我在 swift 3 中克隆对象时遇到问题。我想复制/克隆一个对象,然后想修改它的值,以便修改不会反映在实际对象上。这就是我所做的。
上面这行实际上不仅修改了本地副本,还影响了实际的 PatientInformationController.shared().pateintInformation.firstName PateintInformation 符合 NSCopying 协议。
我检查了两个对象(实际和副本)的内存地址,它们是不同的。
在 PatientInformation 类中:
swift - NSCopying copy(with:) - 它真的需要返回任何吗?
有没有办法使用 NSCopying 而不返回的对象是 type Any
?它总是强迫我投。这似乎很奇怪。我正在复制对象,Swift 不应该根据单词copy的定义知道它是同一类型吗?
是否有另一种方法可以复制我不知道的对象,或者是否有一些我缺少的“陷阱”需要这样做。
该类非常简单,例如:
它必须是一个类,因为我需要继承。
例子:
我想我可以创建一个接受现有对象的初始化程序,但这在语义上似乎不如“复制”这个词好。
我在实现自己的clone()
方法时遇到的唯一问题是,我还希望有一个可以调用clone()
许多此类对象并隐式返回相同对象类型的协议。