jjzjj

initWithCoder

全部标签

cocoa-touch - iOS/iPhone SDK : initWithCoder and encodeWithCoder not being called

我正在尝试保存一个名为queueArray的NSMutableArray,以便在应用程序退出后可以再次加载它。我使用了一些教程来帮助我前进,这是我想出的代码。问题似乎是“initWithCoder”和“encodeWithCoder”没有被调用,没有NSLog调用,也没有在断点处停止。我已将NSCoding协议(protocol)添加到.h文件,我知道queueArray不是nil,它包含MPMediaItem。这是我用来尝试保存和加载数组的一些代码:-(IBAction)saveQueuePressed{NSString*rootPath=[NSSearchPathForDirect

iOS:每个初始化程序何时用于表格单元格?初始化,initWithFrame,initWithCoder,initWithStyle

我最近做了一个表格单元格子类的编程分配/初始化,并且通过一些NSLog,我能够了解到几乎所有的初始化程序都被调用了,即使我所做的只是分配/初始化,如果我记得的话正确。初始化初始化样式这是什么逻辑?哪个叫哪个? 最佳答案 一切都可以追溯到init。UITableViewCell是NSObject的子类,因此它有一个init方法。initWithFrame已弃用,并且已经有一段时间了(自iOS3起)。你不应该使用它。它在iOS3中被替换为initWithStyle,您可以使用它来指示您想要创建的单元格样式。initWithCoder是另

ios - initWithCoder : function is not called from unarchiveObjectWithData:

我正在尝试取消存档特定类型的对象数组,但initWithCoder:函数没有在对象的类中执行。相反,我得到了错误:***Terminatingappduetouncaughtexception'NSInvalidArgumentException',reason:'-[SavedObjectinitWithCoder:]:unrecognizedselectorsenttoinstance0x9e85f34'现在,奇怪的是,调用了encodeWithCoder:并且我能够很好地将数据写入磁盘。然后,当尝试读回数据时,数据看起来与写入磁盘的数据完全一样。写入磁盘://arrayOfObj

ios - 当我们使用 Storyboard时,我们如何在 objective-c 中实现自定义 init 方法?

我在XCode4.6.3中使用Storyboard创建了一些按钮和标签我想在单击放置在FirstViewController中的按钮时触发一些方法,为了使这些方法起作用,我定义了一些变量/NSMutableArrays(currentQuestionIndex、questions等)。我想使用自定义init方法来初始化这些。当我保留initWithNibName和initWithCoder并编写一个新的init方法并在其中编写我的实现时,它不会被调用。但是当我按照下面的代码片段所示操作代码时,它起作用了。我想知道在使用Storyboard创建对象时如何使用自定义初始化方法,因为我在这里

ios - dataSource 在 initWithCoder 中为 nil

我有以下initWithCoder实现,它取决于数据源方法的回调。但是不知何故,数据源为零,并且未调用数据源方法。我正在使用Storyboard,因此覆盖了initWithCoder-Method。-(id)initWithCoder:(NSCoder*)aDecoder{self=[superinitWithCoder:aDecoder];if(self){NSUIntegerrows=0;NSUIntegercolumns=0;if(self.dataSource&&[self.dataSourcerespondsToSelector:@selector(numberOfHeade

ios - 此编码器要求从 initWithCoder : 返回替换的对象

我的应用程序在iOS11.2中运行良好,但在iOS11.3中会崩溃。我有异常(exception)Terminatingappduetouncaughtexception'NSGenericException',reason:'ThiscoderrequiresthatreplacedobjectsbereturnedfrominitWithCoder我有一个带tableView的viewController,这个tableView有2个单元格,不知何故,这个TableView无法在cellForRowAtIndexPath方法中加载一个单元格。LPDiscoverFeedCell*c

ios - 这个 View 可能没有收到 initWithFrame : or initWithCoder:

我正在使用tableView并且还实现了它的委托(delegate)和数据源方法。我对tableViews和委托(delegate)并不陌生。但我仍然遇到了这个崩溃:Terminatingappduetouncaughtexception'NSInternalInconsistencyException',reason:'Requestingthewindowofaview()withanillayer.Thisviewprobablyhasn'treceivedinitWithFrame:orinitWithCoder:.'我对许多其他tableViews使用了相同的代码,但我不知道

ios - Objective-C iOS 开发在设置变量时使用 viewDidLoad 或 initWithCoder,为什么?

所以看起来我应该在viewDidLoad中设置我的成员变量-但我很困惑为什么在initWithCoder中设置这些变量会失败,因为两者都在程序的开始。特别是我有一行代码:[worldViewsetMapType:MKMapTypeSatellite];其中worldView是一个IBOutletMKMapView对象。它在viewDidLoad下工作,但在initWithCoder下不工作。 最佳答案 调用initWithCoder时,socket尚未连接。来自documentation:Duringtheinstantiation

ios - NSCoding 和保存/加载默认值问题

我正在为iPhone应用程序编写一些代码,但在正确加载默认数据时遇到了问题。我的代码基于RayWenderlich的“LearningCocos2d”一书中的一些示例。似乎即使我彻底删除应用程序并尝试从新数据开始,应用程序也不一致地不尝试加载数据,或者错误地认为有数据,并加载空值。我正在使用containsValueForKey来检查值是否存在,然后加载它或加载一些默认值,但即使在全新安装中,containsValueForKey也会查找数据并且不会加载默认值。在xcode的管理器中,我检查了我设备的文件结构和我指定要保存的文档文件夹,看起来它不包含任何文件,所以我不确定它在抓取什么。

ios - 无限循环试图从 IB 中的 xib 创建自定义 View

这是这个问题(customUIViewhow-towithIB/Xcode4.5.1andiOSSimulator6.0)的后续问题,但没有必要阅读-这是我第一次尝试创建自定义UIView并且显然有些事情我没有提前获得任何帮助您可以提供。我有一个派生自InterfaceBuilder的自定义UIView。我想将尺寸设置为200wx200h,将背景颜色设置为绿色。创建时,我执行了以下操作:通过文件->新建->名为Tview的Objective-C类创建了一个新的自定义UIView通过"file"->“新建”->“用户界面”->“View”创建了一个新View并将其命名为tnib在Canv