问题标签 [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 投票
2 回答
2947 浏览

objective-c - 10.6/Xcode 3.2 中的 NSCollectionView

NSCollectionViewItem在 Xcode 3.1.2 中,我曾经在我的子类中加载 nib,NSCollectionViewItem如下所示:

在 10.6 下的 Xcode 3.2 中,相同的方法不会产生错误,但也不会在NSCollectionView其中加载视图。

是否需要做其他事情才能使视图显示出来?或者有没有更好的方法来改变NSCollectionItem's superclass to NSViewController

毕竟,重写copyWithZone来实现这个标准功能对我来说似乎总是一种 hack。我认为应该能够指定应该在 IB 中使用的 nib,但 Apple 似乎不这么认为。

我确实查看了文档中提供的示例,但是NSCollectionViewItem使用 以编程方式对其进行了实例化initWithNibName,但我想在 IB 中创建它。

更新

我按照 kperryua 的建议做了,但现在我无法从NSCollectionViewItem. 这是我正在尝试做的事情:

我将标签名称绑定到文件所有者,即我的NSCollectionViewItem. 这曾经在 10.5 中完美运行,但现在未分配插座(我使用 GDB 进行了检查)。

图片显示绑定 http://img21.imageshack.us/img21/671/picya.png

更新 2

我还将NSCollectionView's绑定itemPrototype到我的NSCollectionViewItem(PersonController) 子类。

图片显示绑定 http://img503.imageshack.us/img503/4672/pic2d.png

现在File's OwnerthePersonView.nibitemPrototypeof 都NSCollectionView指向我的子类。

显示控制台输出的图像 http://img340.imageshack.us/img340/6184/pic3.png

正如您在屏幕截图中看到的那样,项目已显示,但标签的文本无法更改,因为labelName无法访问插座。

我还记录了我尝试设置的名称,以确保它不是“名称”。

需要做什么来更改标签的值?

任何帮助,将不胜感激。

0 投票
2 回答
1465 浏览

iphone - mutableCopyWithZone 更新属性值

我有一个需要复制的类,它能够更改两个类上变量的值。简单地说,这些类需要始终保持彼此的克隆。我对文档的理解是,我可以使用也被声明为可变的 Class 的浅表副本来做到这一点。通过浅拷贝变量的指针值将被克隆,使其在两个类中完全匹配。因此,当我更新原始变量时,副本将同时更新。这是正确的吗?

正如您在下面看到的,我在要复制的类中使用了 mutableCopyWithZone。我已经尝试了 NSCopyObject 和 allocWithZone 方法来让它工作。尽管我能够复制该类并且它按预期显示,但在更新变量时它不会更改复制的类中的值。

infoTextViews 是一个声明为非原子的属性,保留在被复制的类的头文件中。我也相应地实现了 NSMutableCopying 协议。

任何帮助都会很棒。

0 投票
3 回答
1991 浏览

iphone - iPhone - copyWithZone 泄漏

在设备上测试我的应用程序会返回泄漏,而我调用自定义对象的副本并且我不明白为什么。

这是电话:

这是方法:

这是由 copyWithZone 调用的方法:

0 投票
3 回答
16443 浏览

iphone - 将一个 NSString 复制到另一个

如何将一个 NSString 复制到另一个?

我有两个这种类型的对象。我的数据 *obj1, obj2;

首先是初始化。其次,我想先初始化。

我需要不保留第二个对象的副本!!!请帮忙!谢谢!

0 投票
1 回答
3478 浏览

iphone - 使用 UIColor RGB black 作为 NSMutableDictionary 中的键时出现问题

我可以整天将 UIColor 对象设置为 NSMutableDictionary 中的键,一切都很好,很开心......

例如:

这很好用......除非我尝试使用以下内容:

这总是给我:

-[UIDeviceRGBColor copyWithZone:]:无法识别的选择器发送到实例 0x691be80

我在 RGB 颜色空间中定义黑色的原因对于这个问题并不重要,只要知道我必须以这种方式定义它。我不明白为什么只有这种颜色会导致我出现问题,为什么错误是 copyWithZone 错误?

作为记录, [UIColor blackColor] 用作键,但由于它不是 RGB 颜色空间,因此不适合我的应用程序。

0 投票
2 回答
4421 浏览

iphone - iPhone : (id)copyWithZone:(NSZone *)zone : 什么是“区域”?

在类中实现这种 NSCopying 方法以启用复制时,区域参数的用途是什么?如果我设置一个新对象,我不需要用 allocWithZone 分配它,因为一个 alloc 就足够了......我很困惑......

0 投票
1 回答
441 浏览

iphone - iPhone:copyWithZone:在返回之前释放一个对象?

我在苹果文档中读到了 copyWithZone :“返回的对象由负责释放它的发件人隐式保留”。但是...我要如何释放我返回的东西...我要疯了!

代码示例:

应该在哪里被告知发布?我保留两次?呃……

0 投票
1 回答
813 浏览

iphone - copyWithZone 返回值所有权和保留计数

我在苹果文档中读到了 copyWithZone :

“返回的对象由负责释放它的发送者隐式保留”。

所以如果我写这个:

我打电话给:

obj保留吗?如果我不设置自动释放,保留计数怎么办?

0 投票
1 回答
286 浏览

objective-c - NSCell 未正确显示

我在 NSTableView 中有一个自定义 NSCell,但它无法正确显示。表格视图中有正确数量的项目,但除了第一个之外,它们都是空的。第一个显示单元格,但当我单击 NSTableView 上的某个位置时,它的值会随机变化。我怀疑这与我的手机有关copyWithZone:。我的单元格没有任何 iVar,只是一个drawWithFrame:inView:绘制其 objectValue 的方法。在copyWithZone:我回来[[[MyCell allocWithZone: zone] init] autorelease]

我应该退回其他东西吗?

0 投票
1 回答
3857 浏览

objective-c - copyWithZone:(深拷贝)在子类中崩溃

我尝试创建一种赋予协议 NSCopying 的复制方法。

我有以下课程:

使用方法:

如果我通过以下方式调用该方法:

它在调用gene1的复制方法时崩溃。

我必须以不同的方式调用该方法吗?

喜欢[gene1 copyWithZone:(NSZone *)],但我必须通过什么对象?我必须创建一个 NSZone 对象吗?还是有一个我可以作为参数传递的默认值?

感谢您的任何帮助