问题标签 [initwithcoder]

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

xcode - Xcode NsCoding 导航标题消失

我已将此代码添加到项目中的“MasterViewController.m”中:

.

当我添加“initWithCoder-code”时,导航标题消失,当我单击导航栏中的“添加按钮”时,应用程序崩溃。(_savedText" 是一个 mutableArray) 是什么导致了这个问题?

0 投票
3 回答
868 浏览

ios - 尝试从界面生成器加载笔尖

我有一个UIView基础类,它有自己的 XIB。让我们调用这个类MyClass。所以我有MyClass.xib和。MyClass.hMyClass.m

我在故事板上有一个 UIView 对象,我将该对象的类设置为MyClass.

我创建了一个新UIView的 XIB,在 XIB 中,我将文件所有者的类更改为MyClass. 我不知道我是否需要在 XIB 内部进行更多连接。

我想要的是:故事板加载MyClass.m和加载MyClass.xib,因此我有这个初始化代码:

问题是这段代码陷入了无限循环。我猜又打了loadNibNamed电话initWithCoder:,应用程序崩溃了。

我怎么做?为什么要循环,在 xib 内部是否需要建立更多连接?

0 投票
0 回答
195 浏览

xcode - 为什么 initWithCoder: 在对象解码过程中返回错误的对象类?

我试图在一个简单的测试用例中使用 NSKeyedArchiver / NSKeyedUnarchiver 并观察到当 initWithCoder: 被调用时,创建的对象报告它有错误的类。

测试编码器.h

测试编码器.m

NSLog 输出:

2015-07-22 14:10:45.394 TestCoder[10858:632647] TestCoder是TestCoder的一种吗?是的

但是,当我对此进行单元测试时,它似乎不起作用。

我的测试用例报告:

error: -[TestCoderTests testExample] : (([object isKindOfClass:TestCoder.class]) is true) failed

但是当我使用调试器检查对象的类时,我得到的结果与我的测试用例相矛盾:

这里发生了什么?

通过使用通过的简单测试用例,我可以看到我没有滥用 isKindOfClass。

是否有一些技巧可以让 NSCoder 正常工作,而我在文档中找不到?

0 投票
0 回答
88 浏览

objective-c - initWithCoder 和 encodeWithEncoder 地狱。这可以简化吗?

有几十个模型,每个模型都有几十个属性,都可以使用NSCoder协议保存到磁盘NSKeyed(Un)archiver,为我的 iOS 应用程序创建和维护模型是很多工作。一个模型有十几个属性,我必须:

  1. 定义十几个属性(没关系,因为它们必须在某个地方定义)

  2. 填充该initWithCoder:方法,即十几行和两打次键入/复制粘贴属性名称(或常量键),3)一些适用于encodeWithCoder:.

出错的风险(在打字、复制或更改(或不更改)之类的东西encodeObject:encodeInteger:是巨大的。此外,这只是大量的手工工作,我不想这样做。毕竟,我们有计算机来做这件事我们。

首先,我研究了简化工作的方法。像这样的东西:

但这仍然是很多工作。这不能做任何简单的事情吗?我不喜欢在运行时使用自省或其他方法来执行此操作。

我正在考虑一些生成/操作模型文件并将它们添加到 Xcode 的 Python 脚本。这可能基于一些 JSON 描述文件。

让 Xcode 在预构建阶段自动运行它会很棒。这意味着我在一个地方定义了每个模型和每个属性一次,并且永远不必担心我忘记编码/解码的错误和属性。

那里有类似的东西吗?有没有将文件添加到 Xcode 项目的方法,而不会弄乱一些不可读的 Apple“XML”项目文件?那么在目标中包含标题怎么样。或者也许是其他一些很好的方法来节省我所有的工作?

0 投票
2 回答
34 浏览

ios - 在控制器之间传递值

我使用 Storyboard 创建了一个视图控制器,但通过代码实例化,然后将值传递给控制器​​。我知道它将被称为“ initWithCoder:”,但在方法中属性为 nil。 我在某处得到属性值?

0 投票
1 回答
15974 浏览

swift - 如何在 Swift 中编写 initwithcoder?

我是 swift 的新手,我在 swift 中遇到了 initwithcoder 的问题。

我有类 UserItem,我需要它来保存用户登录。

在目标c中是这样的

我很快就在尝试这样

但如果像上面一样,我会收到代码错误

错误消息是“调用中的额外参数‘编码器’

我想不通了,所以我试试这段代码,

但是,得到错误

我应该怎么办?之前感谢您的帮助。

0 投票
1 回答
451 浏览

xcode - 使用 Swift 子类化 UIView,在 Nib 中使用

我正在尝试使用 Swift 子类化 UIView 并为我的类提供一个带有一个参数的 init。所需的Init With Coder初始化程序让我失望了。事实上,我确实希望能够将我的视图放入 Nib 文件中。我的理解是,这将调用Init With Coder。有什么方法可以用 addl 调用这个初始化程序。参数,除了解码器?现在我正在为我的实例变量分配默认值,如下所示,以便代码能够编译。

我的初始化程序设置如下所示。

如果您通过 Nib 文件初始化视图,是否无法传入任何新颖的参数?

0 投票
0 回答
223 浏览

ios - 我们如何在 Swift 的构造函数中动态初始化 'let' 属性

我在 Swift 中创建了 UILabel 的子类,我想根据标签的类型自定义标签的一些属性,如字体、颜色大小等。

这个标签是在故事板文件中创建的。为了识别标签的类型,我创建了一个自定义属性名称“labelType”,这个标签类型一旦被分配就永远不会改变它的值。所以我们应该创建这个属性是 'let' 但问题是我们需要在调用它的initWithCoder之前定义这个属性。

我们如何在 initWithCoder 中动态设置它的初始值?(或任何其他默认构造函数?)

目前我已将该属性设为 var,并且我正在从情节提要本身设置该属性的值(用户定义的运行时属性)

这是代码

故事板的图像

0 投票
0 回答
748 浏览

swift - Swift UIViewController 崩溃 w/(致命错误:init(coder:) 尚未实现)

我创建了一个MainViewController声明/定义类的 swift 文件MainViewController。我已将故事板唯一场景的自定义类设置为此类。我有以下代码:

当我运行项目时,我得到以下崩溃日志:

致命错误:init(coder:) 尚未实现:文件 /Users/alexanderbollbach/Desktop/DraWave/content/MainViewController.swift,第 17 行

似乎这是人们以前遇到过的问题,并且 swift 引入了一些关于视图控制器初始化的复杂性。我目前正在快速学习,但无法解决问题所在。值得注意的是,这是一个包含 Objective-C 类的混合语言项目。

0 投票
0 回答
379 浏览

ios - iOS:initWithCoder失败:'需要推送选择器实现的执行类'

我有一个 UIImageView 子类为 CLImageView 已通过延迟加载实现。

刚才我遇到了这个错误信息

在行: if(self=[super initWithCoder:aDecoder]) {

直到 5 年的 iOS 编程,我才看到这个错误,我在这里找不到关于这种消息的任何信息。

如果有人能给我一些想法,将不胜感激。

如果您需要更多信息,请发表评论或回复。

太感谢了。