使用值初始化ViewController

Fre*_*ins 0 iphone cocoa objective-c uiviewcontroller

我刚为我的iPhone应用程序创建了一个新的视图控制器.

用户点击按钮时会触发视图控制器.视图控制器的指定初始化程序是默认值(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil.

我想初始化器,initWithID:(NSInteger)id但如何调用指定的初始化器?

Pau*_*l.s 5

我不喜欢使用构造视图控制器提供的可移植性

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil;
Run Code Online (Sandbox Code Playgroud)

所以我经常只在内部使用它,但它可能看起来像这样

- (id)initWithId:(NSString *)identification
{
    self = [super initWithNibName:@"nibName" bundle:nil];
    if (self) {
        _identification = identification;
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

请注意,您不应将其id用作名称,因为它是一种类型,因此令人困惑

如果视图控制器A正在构建视图控制器,B我喜欢认为如果我的代码松散耦合,那么B应该有一个比Anib B应该加载更好的想法.