问题标签 [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.
objective-c - 序列化/反序列化编码器/解码器不起作用
这是我第一次尝试序列化数据,我不能正确地做某事,因为它不起作用。也许是因为我试图序列化的类是一个委托,或者是因为我填充数据的方式,或者可能有一百万个其他事情是错误的。知道如何执行此操作的人可以查看我的代码并给我一些提示吗?请?
头文件:
实施文件:
调用代码在这里:
self.template 是指向我的序列化类的指针。也许我不能这样做?
ios - Objective-C iOS 开发在设置变量时使用 viewDidLoad 或 initWithCoder,为什么?
所以看起来我应该设置我的成员变量viewDidLoad
- 但我对为什么设置这些变量initWithCoder
失败感到困惑,因为两者都是在程序开始时调用的。
特别是我有一行代码:
其中worldView
是一个IBOutlet
MKMapView
对象。它在 下工作viewDidLoad
,但不是initWithCoder
。
ios - 当我们使用storyboard时,我们如何在objective-c中实现自定义的init方法?
我已经使用情节提要创建了一些按钮和标签,XCode 4.6.3
我想在单击放置在 FirstViewController 中的按钮时触发一些方法,并且为了使这些方法起作用,我已经定义了一些变量/ NSMutableArrays
(currentQuestionIndex、questions 等)。我想使用自定义初始化方法来初始化这些。当我离开initWithNibName
并按initWithCoder
原样编写一个新的 init 方法并在其中编写我的实现时,它不会被调用。
但是,当我按照下面的片段所示操作代码时,它起作用了。
我想知道在创建对象时如何使用自定义初始化方法,Storyboard
因为我在这里所做的可能不是一个好习惯。当我尝试使用初始化时initWithCoder
,它不起作用。但据我所知,我们使用initWithCoder
从 初始化Storyboard
,对吗?中的按钮/标签位于storyboard
FirstViewController 中。
这是我的 FirstViewController.h 文件
和
这是我的 FirstViewController.m 文件
objective-c - IBOutlet is nil after initWithCoder is called
Simple problem, I have defined a UIImageView, called bigImageView
in a UIViewController using the storyboard,
It's declared in the h file of that UIViewController as follows:
on my appDelegate
I init the UIViewController as follows:
this calls initWithCoder on my UIViewController m file:
This function is only called once so there's no double init.
However, later, when I check my bigImageView
pointer, it's still nil.
Isn't the init supposed to allocate memory to it? I think that's why when I try to set this UIImageview to hold a UIImage it doesn't display the image Thanks
ios - initWithCoder 中的 dataSource 为 nil
我有以下依赖于数据源方法回调的 initWithCoder 实现。但不知何故,数据源为零,并且没有调用数据源方法。我正在使用情节提要,因此覆盖了 initWithCoder-Method。
有人有线索吗?
提前致谢。
ios - initWithCoder: 和 NSKeyedUnarchiver 的问题
我目前正在尝试向我的应用程序添加游戏保存功能。最终目标是将大约 300 个自定义对象保存到一个.plist
文件中,并在以后再次提取它们。我已经取得了一些进展,但我遇到了一些问题,initWithCoder:
而且我也不确定我的技术。
a 正在使用以下代码UIViewController
来保存对象(例如,我只在字典中添加了 2 个对象):
这成功地调用了类encodeWithCoder:
中的函数Territory
两次:
当我查看目录时,果然,该文件存在。现在,这是我遇到的问题:运行以下函数时,该initWithCoder:
函数被成功调用两次。函数内的日志initWithCoder:
输出它们应该输出的内容,但函数中的日志UIViewController
返回loadContents
,0
等null
。但是,标签的文本设置正确。
我一直试图让它工作几个小时,但无济于事。如果有人对此有任何见解,请帮助我。另外,我不完全确定我的保存技术是否良好(使用NSMutableDictionary
存储对对象的引用以便输出到一个文件)?谢谢!
objective-c - 为什么 initWithCoder 需要 self.property?
在访问变量时,我倾向于在我的 Objective C 代码中经常使用self.property,因为我知道这会使用 getter/setter 方法(显式编码或自动生成)。
另一位编码人员最近告诉我,最好在整个代码中使用_property 。但我的理解是_property实际上只用于 init 和 dealloc 方法。
今天我在一些使用initWithCoder的代码中发现了一个错误。我在 initWithCoder 方法中使用_property并且不得不将其更改为self.property。这是在设置 NSData 对象时。这是原始代码:
我不得不把它改成这个,让它工作:
我的问题是 - 为什么这里的initWithCoder是例外?如果普遍认为最好在 init 方法中使用_property,那么为什么initWithCoder会有所不同?
现在看来,一般规则是:
使用 self.property,除非在 init/dealloc 方法中,应该使用 _property(除了 initWithCoder,应该使用 self.property)。
这个对吗?
ios - super initWIthCoder 返回父类型?
我想我错过了一些基本的东西......
我实现了一个类NSCoding
和一个子类NSCoding
,但是当我调用initWithCoder
子类时,我得到一个InvalidArgument
错误。
我一定忘记了一些基本的东西,但我不知道是什么......有人有想法吗?
谢谢。
ios - initWithCoder 将首次值初始化为什么?
我正在将 NSCoding 用于我正在制作的游戏以保存高分之类的东西。我的问题是:这些值最初是如何设置的,就好像它们以前从未保存过一样?就像第一次运行应用程序一样。它将解码这些值,但没有任何值开始。
我相信 int 被设置为 0。我可能是错的。NSString 和 BOOL 被设置成什么?
ios - 检查 UIView 是从 Nib/Storyboard 加载还是以编程方式创建
有什么方法可以识别 aUIView
是从 nib 文件/故事板加载,还是从用户代码动态实例化?我正在创建一个自定义UIView
子类,因此我可以完全访问实例方法。
检查是否initWithCoder:
被称为一个好主意,或者还有其他方法吗?
对于任何想知道为什么我需要这样的功能的人:我正在开发一个库,我想根据它们的内容智能调整某些视图的大小,前提是它们是通过编程创建的(用户不会打扰初始化代码、添加布局约束等,我将有一个简单的类方法初始化程序)。如果用户在 Interface Builder 中设计了它,他们显然希望在设计时看到它(我也在使用 IBDesignable/IBInspectable 属性,因此将大量使用 IB),所以我不会触及他们的设计。