Tag: 初始化

注册一个UITableViewCell重用时,该单元的哪个init方法被调用?

我试图使用UITableViewCell的自定义子类与风格设置为UITableViewCellStyleSubtitle并使用registerClass:forCellReuseIdentifier: 但是,我不知道如何做到这一点。 我的想法是重写init方法和调用 self = [super initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:myReuseIdentifier]; 在它之内。 然而,我不知道哪个init方法被调用(或者如果这是正确的方式来做到这一点)。 我试图拦截所有下面的init方法,但是当它们出队时,没有一个是正确的: init initWithCoder initWithFrame 我已经确认了dequeueReusableCellWithIdentifier:forIndexPath:正在返回一个正确types的单元格,所以我知道它正在被创build。 我只是不知道哪个init方法被调用,所以我不能设置默认样式。

目标C中什么是非空的?

有人可以详细说明为什么在iOS 9中引入nonnull ? 例如, NSArray方法+ (instancetype)array; 现在是+ (instancetype nonnull)array; 参考: https : //developer.apple.com/library/prerelease/ios/releasenotes/General/iOS90APIDiffs/frameworks/Foundation.html 这是一个客观的C级function,这将如何影响现有的应用程序?

为什么UILabel没有初始化?

代码来自Stanford CS193p。 我添加了一个NSLog检查出来。 标签似乎没有被初始化。 任何想法? @interface AskerViewController() <UITextFieldDelegate> @property (weak, nonatomic) IBOutlet UILabel *questionLabel; @property (weak, nonatomic) NSString *question; @end @implementation AskerViewController @synthesize questionLabel = _questionLabel; @synthesize question = _question; – (void)setQuestion:(NSString *)question { _question = question; self.questionLabel.text = question; NSLog(@"label is %@", self.questionLabel); } @end NSLog的结果是: 2012-07-31 01:56:45.177 Kitchen Sink[23931:f803] label is (null)

NSArray初始化方法

初始化数组与数组有什么区别 NSArray * array = [NSArray array]; 和 NSArray * array = @[];

Swift – 在课堂上给自己分配一个NIB

我正在为通知下拉横幅创build一个UIView子类。 我正在使用XIB构build视图,并希望在初始化时将该xib分配给该类(即避免必须从调用ViewController执行此操作)。 既然你不能很快地分配“自我”,我该如何从课堂上正确地做到这一点呢? class MyDropDown: UIView { func showNotification() { self = UINib(nibName: nibNamed, bundle: bundle).instantiateWithOwner(nil, options: nil)[0] as? UIView } }

在ARC存在的情况下,初始化iVarvariables的正确方法是什么?

例如iVar foo , @property (nonatomic) NSString* foo; // inside .h 选项1 @Synthesize foo; //Inside .m foo = [[NSString alloc] init]; // viewDidLoad method 选项2 @Synthesize foo; //Inside .m self.foo = [[NSString alloc] init]; // viewDidLoad method 选项3 @Synthesize foo = _foo; //Inside .m _foo = [[NSString alloc] init]; // viewDidLoad method 为什么? 在许多地方,我看到的代码有不同的方式来做对象在Obj – C,但哪一个是最好的做法?

在易错初始值设定器中赋值让variables1.2

我有一个错误的初始值设定项,而不是一个实例方法,但一个初始值设定项。 更新到1.2后,当我尝试在初始化程序中分配一个let属性时,我收到以下错误Cannot assign to 'aspectRatio' in self 。 我的代码如下: import Foundation public struct MediaItem { public let url: NSURL! public let aspectRatio: Double public var description: String { return (url.absoluteString ?? "no url") + " (aspect ratio = \(aspectRatio))" } // MARK: – Private Implementation init?(data: NSDictionary?) { var valid = false if let urlString […]

实际上每次有一个segue转换时都会调用viewDidLoad

我已经看到堆栈溢出的post很多,指出控制器的viewDidLoad方法只被称为第一次访问控制器,并不一定每次,但总是至less一次。 这不是我所看到的! 我把一个简单的testing放在一起,以突出这个: https : //github.com/imuz/ViewDidLoadTest 这似乎是导航控制器塞格和模态视图总是调用viewDidLoad。 唯一不被调用的时间是在制表符之间切换。 viewDidLoad的每一个解释我都可以发现这个矛盾: 什么时候viewDidLoad被调用? UIViewController viewDidLoad vs. viewWillAppear:什么是正确的分工? http://www.manning-sandbox.com/thread.jspa?threadID=41506 苹果自己的文档指出,只有当内存不足时才会卸载视图。 我目前正在viewDidLoad进行初始化,作出每一个segue过渡调用的假设。 我在这里错过了什么?

如何以及在哪里初始化Xcode 5中的全局NSMutableArray

我想初始化一个全局的NSMutableArray,我可以稍后添加整数。 我只需要知道如何和在哪里我应该初始化我的数组,以便它可以被我在程序中稍后使用的任何函数访问和更改。 此外,我正在使用Xcode 5,并知道数组需要是180的长度。

在Swift中用UIViewController的自定义init,在storyboard中设置界面

我有问题为UIViewController的子类编写自定义的init,基本上我想通过viewController的init方法传递依赖,而不是像viewControllerB.property = value直接设置属性 所以我为我的viewController做了一个自定义的init,并调用超级指定的init init(meme: Meme?) { self.meme = meme super.init(nibName: nil, bundle: nil) } 视图控制器界面驻留在故事板中,我也使自定义类的界面成为我的视图控制器。 即使你没有在这个方法中做任何事情,Swift也需要调用这个init方法。 否则,编译器会抱怨… required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } 问题是,当我尝试使用MyViewController(meme: meme)调用我的自定义init时,它并没有在我的viewController中初始化属性… 我试图debugging,我发现在我的viewController, init(coder aDecoder: NSCoder)先调用,然后我的自定义的init后来调用。 但是这两个init方法返回不同的self内存地址。 我怀疑我的viewController初始化有什么问题,它总是会返回self与init?(coder aDecoder: NSCoder) ,没有实现。 有谁知道如何正确地为您的viewController自定义初始化? 注意:我的viewController的界面是在storyboard中设置的 这里是我的viewController代码: class MemeDetailVC : UIViewController { var meme : Meme! @IBOutlet weak var editedImage: UIImageView! // […]