问题标签 [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.
ios - 在 Swift 1.2 中编码和解码枚举
我enum
在我的 Swift 类中有一个并声明了一个变量。我需要使用NSCoder
. 关于这句话我应该使用很多问题rawValue
。Enum
声明如下:
但是在 Swift 1.2 中没有这样的初始化器。如何在 Swift 1.2 和 Xcode 6.3 中做到这一点?
ios - 使用编码器 aDecoder 推送 ViewController:NSCoder
我正在尝试使用以下方式推送视图控制器:
var vc2 = ViewController2()
self.navigationController?.pushViewController(vc2, animated: false
)
但在我的第二个视图控制器中,我有:
Missing argument for parameter 'coder' in call
但是我在第一个 ViewController 中得到了错误。第一个视图控制器的括号中是什么?
ios - 在 Swift 的 NSUserDefaults 中保存自定义类对象
我试图将一些对象保存在数组中,但我的对象使用继承的属性但是当试图读取它说的对象时
结构是
以这种方式我使用此代码
这是类功能
-我的问题出在从 Servicio 继承的 Service1 中
objective-c - 重命名核心数据可转换
我CoreData
用来管理我的应用程序中的离线存储。离线存储的数据以自定义NSObject
形式保存在xcdatamodel
.
我在应用程序 ( v1.0 )中的当前版本正在存储Navigation
该类。
我需要重命名Navigation
该类以解决我的代码库的另一个目标中的一些名称空间问题。
在 2.0 版中,应用程序崩溃了,因为当我搜索CoreData
商店时,NSKeyedUnarchiver
由于缺少Navigation
类而失败。
迁移当前CoreData
商店以解决此问题的最佳方法是什么?
我试过这样的事情:
尽管我会很聪明地捕捉到异常并尝试仅获取 ObjectID 以删除我商店中的损坏数据。但它不起作用……</p>
ios - 使用 NSCoder Swift 编码数组
我正在尝试实现 NSCoder,但目前面临一个顽固的问题。我的目标是通过 NSCoder 将字符串数组保存到本地文件中,并在下次打开应用程序时加载它。
这是我创建的类,但我不确定应该如何处理 init 和 encoder 函数:
}
此外,我如何在我的视图控制器中访问它?我应该在哪里声明保存 NSCoder 的路径?这还不够清楚。
期待任何建议。
谢谢你。
ios - NSKeyedUnarchiver 在后续应用启动后返回 nil
编辑:检查并重新检查了文件路径、归档和取消归档的代码,没有发现任何错误。App File System 在我不知道的启动之间是否存在问题?
我正在使用 NSCoder 在我的应用程序中存储图像。我创建了一个唯一的文件路径,将该文件路径存储到 Core Data,并使用文档中的相同文件路径归档图像。
在应用程序第一次启动时,一切都按预期工作 - 保存在 Core Data 中的文件路径用于取消归档存储在 Documents 中的图像。然而,在随后的启动中,unarchiver 返回 nil,我遇到了崩溃。
ImageForArchiving.m - 要使用 init 和 encode 方法保存的对象
保存到存档、核心数据、创建文件路径和解档代码
循环通过 Core Data 数组加载数据源。未归档对象的添加是 w
objective-c - initWithCoder 和 encodeWithEncoder 地狱。这可以简化吗?
有几十个模型,每个模型都有几十个属性,都可以使用NSCoder
协议保存到磁盘NSKeyed(Un)archiver
,为我的 iOS 应用程序创建和维护模型是很多工作。一个模型有十几个属性,我必须:
定义十几个属性(没关系,因为它们必须在某个地方定义)
填充该
initWithCoder:
方法,即十几行和两打次键入/复制粘贴属性名称(或常量键),3)一些适用于encodeWithCoder:
.
出错的风险(在打字、复制或更改(或不更改)之类的东西encodeObject:
时encodeInteger:
是巨大的。此外,这只是大量的手工工作,我不想这样做。毕竟,我们有计算机来做这件事我们。
首先,我研究了简化工作的方法。像这样的东西:
但这仍然是很多工作。这不能做任何简单的事情吗?我不喜欢在运行时使用自省或其他方法来执行此操作。
我正在考虑一些生成/操作模型文件并将它们添加到 Xcode 的 Python 脚本。这可能基于一些 JSON 描述文件。
让 Xcode 在预构建阶段自动运行它会很棒。这意味着我在一个地方定义了每个模型和每个属性一次,并且永远不必担心我忘记编码/解码的错误和属性。
那里有类似的东西吗?有没有将文件添加到 Xcode 项目的方法,而不会弄乱一些不可读的 Apple“XML”项目文件?那么在目标中包含标题怎么样。或者也许是其他一些很好的方法来节省我所有的工作?
ios - 来自 xib 的 UIControl 在 ios 7.1 上崩溃
我在情节提要中创建了一个自定义 UIControl ( MyControl )。在 ios 8 和 ios 9 上一切都很好,我的应用程序没有崩溃。但是在 ios 7 和例如 iphone 4 上,应用程序在尝试加载包含此控件的视图控制器时崩溃。调试器突出显示这一行:
typeof(self) loadedView = self.viewFromNib;
我的控制.h:
ControlFromXib.h:
ControlFromXib.m:
objective-c - 归档自定义对象时遇到问题
所以我有这个定制的课程:
LocationSupplementaryObject.h:
LocationSupplementaryObject.m:
所以稍后在我的程序中,我使用LocationSupplementaryObject类:
为了初始化名称,我使用从 parse.com 加载的对象,我们可以看到通过 NSLog 消息正确设置了 suppObject.storedPlaceName。但是,从 NSUserDefaults 检索和取消归档的名称结果是(null),我知道 NSUserDefaults 可能很慢,即使我们调用了同步,所以我正在检查程序另一端的对象:
即使类是用合法的 NSString 初始化的,它仍然向我显示 (null) 存储在 NSUserDefaults 中的名称。我应该承认,我对 NSCoder 没有很多经验,所以任何帮助都将不胜感激。
swift2 - 在 Swift 中使用 WatchConnectivity / 编码传输自定义对象数组
我正在尝试将一组自定义对象从 iOS 传输到 watchkitextension。
了解为了做到这一点,需要对数据进行编码。虽然解码时出错。
开始了:
自定义对象:
带有数组的类:
创建示例对象,附加到数组,然后编码:
在这里我得到错误“执行被中断 - 原因信号 SIGABRT”