草庐IT

objective-c - UIViewController: [super init] 调用 [self initWithNibName bundle:]

我的UIViewController子类中有两个初始化函数:-(id)init{self=[superinit];if(self){//Customstuffreturnself;}returnnil;}和-(id)initWithNibName:(NSString*)nibNameOrNilbundle:(NSBundle*)nibBundleOrNil{self=[superinitWithNibName:nibNameOrNilbundle:nibBundleOrNil];if(self){//Customstuff}returnself;}我将init函数放入以避免调用init

objective-c - 我应该在我自己的代码之后还是之前调用 [super superMethod]?

[抱歉我的英语不好]问题很简单(但是我在表达它和在google中找到它时遇到了麻烦)...我应该(在所有类似的情况下,当我覆盖super方法时,不仅是这个方法)使用:-(void)viewDidLoad{/*mycode*/[superviewDidLoad];}或-(void)viewDidLoad{[superviewDidLoad];/*mycode*/}还是取决于? 最佳答案 在某些情况下,顺序无关紧要。在其他情况下,秩序至关重要。一些有帮助的概括:当您构建对象状态的一部分(viewDidLoad和init...)时,通过s

ios - 调用超方法时跳过父类(super class)?

这可能看起来很奇怪,但我想做以下事情:A级-(void)someMethod;B类:A-(void)someMethod;//overridesC类:B-(void)someMethod;//overrides在C类中,我想覆盖两个父类(superclass)中存在的方法,但在[supermethodName]调用中仅调用A类的方法。-(void)someMethod{[supersomeMethod];//butIwanttocallclassA,notB}可能吗? 最佳答案 像这样的东西应该可以工作://inClassC:#im

ios - ARC 项目中的 "Missing [super dealloc]"警告

我已经将一个项目重构为ARC。看起来不错,但是有一个对象使用了通知中心。我在自定义dealloc方法中删除了观察者。这在非ARC项目中运行良好。它也适用于ARC,但我收到一个疯狂的警告:“方法可能缺少[superdealloc]调用。”在ARC项目中,当方法结束时,它会自动为我完成。更好的是:我不能在ARC项目中调用它!这一定是XCode的错误,对吧?这是我的代码:-(void)dealloc{[[NSNotificationCenterdefaultCenter]removeObserver:self];//[superdealloc];willbecalledautomatical

ios - 使用 Masonry 在它的 super View 中居中 View

我正在尝试为iOS使用Masonry。我有一个标签和一个View。我想将标签添加到View中并在View中水平居中。但是,我使用砌体创建的约束无法正常工作。UILabel*a=[UILabelnew];a.text=@"Hi";a.textColor=[UIColorblackColor];[asizeToFit];UIView*b=[UIViewnew];b.frame=CGRectMake(0,0,CGRectGetWidth(a.frame)+18.0f,19.0f);[baddSubview:a];[amas_makeConstraints:^(MASConstraintMak

ios - warning "Class implementation may not have super class"的含义

我创建了一个非常基本的Objective-C类。我的类.h@interfaceMyClass:NSObject@endMyClass.m#import"MyClass.h"@interfaceMyClass()@end@implementationMyClass:NSObject{NSMutableArray*_myArray;}@endXcode在@implementation行显示以下警告:Classimplementationmaynothavesuperclass如果我删除NSMutableArray*_myArray;行,警告就会消失。这个警告是什么意思?我做错了什么?

iphone - 当我初始化自定义单元格时返回 'self' 而它没有设置为 '[(super or self) init...]' 的结果

在CustomCell.m中,我定义了我想从IB加载单元格的init方法:-(id)init{self=[superinit];if(self){NSArray*nib=[[NSBundlemainBundle]loadNibNamed:@"CustomCell"owner:selfoptions:nil];self=[nibobjectAtIndex:0];}returnself;}在MyTableViewController.m的cellForRowAtIndexPath方法中,我初始化了我的自定义单元格-(UITableViewCell*)tableView:(UITableVi

ios - 在 Xcode 6 中对 super View 的边缘进行水平布局时,如何摆脱 -16?

当您尝试在Xcode6Storyboard中将View布局到其superView的边缘时,生成的约束常量为-16。为什么会这样,我怎样才能让它回到0? 最佳答案 -16是因为约束是针对Superview.trailing/leadingMargin而不是父View的边缘设置的。您可以通过选择约束来解决此问题,并在右上角的信息中选择superView项目的下拉菜单并将relativetomargin切换为关闭。 关于ios-在Xcode6中对superView的边缘进行水平布局时,如何摆脱

iOS,在 Objective C 中使用结构,结构值不可从 super View 分配

可以这么说,我正在尝试使用结构将三个值存储为一个单元。我收到一个错误:“Expressionnotassignable”当我尝试从对象的superView中为结构的值赋值时。谁知道这是为什么?在我类(class)的.h文件中,我定义了结构和属性@interfaceMyClass:UIView{structcustomStruct{floata;floatb;floatc;};}@property(assign,nonatomic)structcustomStructmyStruct;在superView中,我尝试分配一个值,但出现错误:“Expressionnotassignable”

iphone - 什么时候调用 viewWillAppear、viewDidDisappear 等中的 super 方法...?

在UIViewController'sdocumentation,Apple建议在viewWillAppear,viewDidAppear,viewWillDisappear,viewDidDisappear等实现中的某个时刻调用super...比如viewDidDisappear的讨论是:Youcanoverridethismethodtoperformadditionaltasksassociatedwithdismissingorhidingtheview.Ifyouoverridethismethod,youmustcallsuperatsomepointinyourimple