问题标签 [nscoder]

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 回答
1528 浏览

iphone - NSCoder 的 encodeObject: 和 encodeObject:forkey: 有什么区别?

在 NSCoder 中,你可以调用encodeObject:encodeObject:forkey:。这适用于许多数据类型。这些电话之间有什么区别?如何使用它们?为什么没有 encodeDataObject:forkey:or encodePropertyList:forKey:

0 投票
1 回答
1464 浏览

objective-c - 如何使用 NSCoder 对 long long 属性进行编码/解码?

如何在 iOS 中使用 NSCoder解码long long类型属性initWithCoder:并编码?encodeWithCoder:

谢谢。

0 投票
2 回答
174 浏览

objective-c - 如何管理从 NSCoder 返回的解码对象的内存?

我已经从使用 NSCoder 编码中带回了一个根对象,并且不知道如何内存管理这个返回的对象。我用一个自动释放池包围了它,但是这个对象并没有随池一起出去。代码在这里,见第 289 行代码可能会随着 Git Hub 提交而改变,但最终你会在工作代码中看到答案,手指交叉。

自从:

什么是完全释放我的解码对象的有保证的方法?

0 投票
1 回答
602 浏览

iphone - iOS:XIB 中使用的图像名称

有没有办法找出在 XIB 中使用的图像代号,例如按钮的背景?

假设我有带有按钮的xib,其属性背景(对于状态配置:默认)设置为“button.png”,按钮有一个IBOutlet,例如myButton。当我的视图是从 xib 创建时,我可以通过以下方式轻松访问图像:[myButton backgroundImageForState:UIControlStateNormal] 但它当然是 UIImage,但我需要找到在 xib 中使用的图像名称(“button.png”)。

我试图继承 UIButton 并在 initWithCoder:(NSCoder *)aDecoder 中找到带有 NSCoder 的东西,但没有结果

定义按钮背景的 xib 的一部分是

正在尝试类似的东西:

但不起作用(从笔尖初始化时如何使用 NSCoder?)

也试图覆盖

但是永远不会被调用,但是在 awakeFromNib 中,everyting 已经被初始化并加载了。

任何人都可以解释/帮助吗?

0 投票
2 回答
1598 浏览

cocoa - 如何保存/归档包含自定义对象的 NSMutableArray?

我有一个 NSMutableArray *recordsArray,键是 NSString,值是自定义对象:

Cocoa:如何保存/归档包含自定义对象的 NSMutableArray

我想保存那个 NSMutable 数组,最好是非二进制(有点可读)格式。

我已通读文档并将编码方法添加到 DictRecord:

然后我尝试保存使用:

保存了一个文件,但我可以看到它是空的。

谁能告诉我我省略了哪些步骤,或者我是否走错了路。

谢谢

0 投票
1 回答
578 浏览

ios - 我应该使用哪个编码器来使用 NSCoder 对长属性进行编码?

我有一个对象,我必须使用 encodewithcoder 进行编码,但它是一个“长”数字,我不确定是否必须像简单的 int、int32 或 int64 一样对其进行编码。Apple的文档似乎对我没有用处,因为它从不指代“长”类型。

哪个编码器是正确的?

谢谢

0 投票
2 回答
404 浏览

uitableview - 使用 NSCoder 时,我应该在 UITableview 中的哪里添加自定义表格视图单元格标签?

使用 NSCoder 时,我应该在 UITableview 中的哪里添加自定义表格视图单元格标签?我已经创建了 UITableViewCell 类并将所有内容都连接到界面生成器中。

我试图替换cell.textLabel.text = oneName.name; with cell.label.text = oneName.name;它只是显示一个黑色方块。

0 投票
1 回答
483 浏览

iphone - 使用 NSCoder 保存自定义 MKOverlay

我有一个要保存到 plist 的自定义 NSObject 类 Trails。我现在可以正确保存和加载它,除了一部分。我在那个类中有一个自定义的 MKOverlay 类对象 Crumbs,我也想保存它。由于 crumbs 符合 NSCoding,因此不会引发错误,但是在保存并重新打开应用程序后,叠加层不会显示在地图上。crumb 对象不是 nil,但仍然不显示。

轨迹.h

轨迹.m

面包屑.h

面包屑.m

0 投票
3 回答
3705 浏览

ios - NSManagedObject 能否符合 NSCoding

我需要跨设备传输单个对象。现在我正在将我的 NSManagedObject 转换为字典,将其存档并作为 NSData 发送。收到后,我正在取消存档。但我真的很想通过归档和取消归档而不是创建中间数据对象来传输 NSManagedObject 本身。

上面代码的问题是。self.title它在initWithCoder说无法识别的选择器发送到实例时崩溃。

  • 为什么title不被识别为选择器。
  • 在创建对象之前,是否应该取消归档以某种方式使用 nil 托管对象上下文initWithCoder
  • 我需要覆盖copyWithZone吗?
0 投票
1 回答
694 浏览

objective-c - 我可以使用带有 NSUInteger 类型参数的 NSCoder::encodeInteger:forKey: 和 decodeIntegerForKey: 方法吗?

我需要对类型NSUInteger的属性进行编码和解码NSCoder

使用NSCoder::encodeInteger:forKey:NSCoder::decodeIntegerForKey:方法是否安全?

我想到的另一种方法是将无符号整数包装成NSNumber第一个。但这意味着更多的代码,我不太喜欢它。