我有UIViewController和UIView子类(比如说ViewSubClass)。我正在使用Storyboard。在mainStoryBoard.storyBord中,我放置了一个UIView并设置了自定义类ViewSubClass。现在我不想在UIViewController中创建ViewSubClass的实例,例如ViewSubClass*subClassInstance=[[ViewSubClassalloc]init]。无需在ViewController中创建任何ViewSubClass实例,我想调用initWithCoder方法。当我运行我的应用程序时,应该调用Vie
我正在尝试通过将尽可能多的View相关内容推送到Storyboard以及自定义UIView类(即与在UIViewController上执行View相关内容相反)来清理我的代码并使用MVC原则本身)所以我有一个自定义的UITableViewCell(称为CustomCell),它有几个属性,其中之一是我自己的label。因为我是从Storyboard中加载单元格,所以我使用initWithCoder而不是initWithStyle:reuseIdentifier:对其进行初始化,这就是我在CustomCell.m是UITableViewCell的子类(出于某种原因我无法弄清楚如何使用St
我有一个讨厌的错误,如果能给我指明解决方案的大体方向,我将不胜感激。有时,我会收到以下异常,该异常与在我的核心数据模型中的3个不同的NSManagedObject子类上调用initWithCoder有关。如果我从我的设备中删除应用程序并重新加载它,或者在模拟器上重置内容,异常就会消失。在我的代码中,我没有在NSManagedObject子类上显式调用initWithCoder。该错误似乎是在编辑我的源代码的随机部分后随机出现的。关于从哪里开始的任何想法?2014-01-1115:59:22.078FlipEvaluatorandManager[354:a0b]-[SellingCost
为了在我的整个应用程序(基于Storyboard)中重复使用某个subview,我决定将subview构建为一个nib,并将其加载。为此,我完成了以下操作:我有一个可以调用Widget的UIView子类。我创建一个相应的xib文件,将文件所有者属性设置为我的新子类,连接IBOutlets。然后,在我的Storyboard中,我在ViewController中有一个uiview,并将其类设置为我创建的Widget类。在小部件类中,我重写了initWithCoder,并在其中加载了nib,如下所示:-(id)initWithCoder:(NSCoder*)aDecoder{if((self
具体来说,我正在尝试查找图像路径。这将是一件非常有用的东西,而且据我所知,没有人知道如何获得。我查看了生成的nib文件中的key,我能够在其中看到图像URL(test.jpg),但找不到获取它的key。键“UIImage”返回实际已经构建的图像(通过initWithCGImageStored:(CGImageRef)cgImagescale:(CGFloat)scaleorientation:(UIImageOrientation)orientation和神秘的UIKit函数调用GetImageAtPath调用提到的init调用),所以这没有帮助。我还尝试使用NSKeyedArchiv
我对自定义UITableViewCell以及如何使用Storyboard管理事物有一些疑问。当我将样式代码放在initWithCoder:中时,它不起作用,但如果我将它放在tableView:cellForRowAtIndexPath:中,它会起作用。在Storyboard中,我有一个原型(prototype)单元格,其类属性设置为我的UITableViewCell自定义类。现在initWithCoder:中的代码确实被调用了。SimoTableViewCell.m@implementationSimoTableViewCell@synthesizemainLabel,subLabel
假设我从NSKeyedArchiver创建了一个文件,并且该文件被第三方修改/替换。因此,当我尝试取消存档文件时。应该是对象初始化失败。但是initWithCoder()不是一个可失败的初始化器。所以当数据无效时我不能返回nil。但同时。NSKeyedUnarchiver在取消归档对象时可以返回nil值。所以我真的很困惑如何在initWithCoder()中返回一个nil对象。谢谢。 最佳答案 您可以从awakeAfterUsingCoder(_:)返回nil来自thedocument:Youmustreturnselffromin
我是swift的新手,我对swift中的initwithcoder有疑问。我有UserItem类,我需要它来保存用户登录。在objective-c中是这样的-(id)initWithCoder:(NSCoder*)decoder{if(self=[superinit]){self.username=[decoderdecodeObjectForKey:@"username"];}returnself;}很快我就这样尝试overrideinit(){super.init()}requiredinit(coderdecoder:NSCoder!){self.username=(decode
我正在尝试创建一个自定义UIView,它从nib文件中引入它的View。在我的Controller中我有类似的东西:self.arcView=[[JtViewalloc]initWithCoder:self];self.arcView.backgroundColor=[UIColorredColor];self.arcView.frame=CGRectMake(30.0f,200.0f,100.0f,100.0f);[self.viewaddSubview:self.arcView];我的第一个问题是initWithCoder(NSCoder*)的参数应该包含什么?我尝试了self但得
为了初始化具有xib的View,我使用了initWithCoder函数。但是如果我需要用自定义参数初始化xib怎么办。我需要这样的东西:-(id)initWithCoder:(NSCoder*)aDecoderandTitle:(NSString*)titleString{self=[superinitWithCoder:aDecoder];if(self){self.titleLabel=titleString;}returnself;}我什么时候调用它?在awakeFromNib之后? 最佳答案 您不能像那样修改initWith