0

これは私の最初の投稿です、thx、あなたはとても役に立ちました。しかし、私は立ち往生しています。私は実装しようとしました: xcode init controller with data

取得した新しいパラメーターでコントローラーを初期化すると、「VisiteViewController」の目に見える@インターフェイスがセレクター「initWithNibName:bundle:texte:」を宣言しません

VisiteViewController.m で私は持っています:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil texte:(NSString *)chaine{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
    // Custom initialization
}
return self;}

そして私はそれを次のように呼びます:

- (IBAction)goToVisite: (id)sender{
NSLog(@"Button pushed");
VisiteViewController *visiteViewController = [[VisiteViewController alloc] initWithNibName:@"VisiteViewController" bundle:nil texte:@"lkj"];
[self.navigationController pushViewController:visiteViewController animated:YES];
}

助けてくれてありがとう

4

1 に答える 1

0

こんにちは、StackOverflow へようこそ!

@janusfidel が述べたように、ヘッダー (.h) ファイルに宣言を追加する必要があります。

メソッドを変更したのではなく、まったく新しいメソッドを作成しました (偶然にも、既存のメソッドの 1 つに少し似た名前が付いていますが、コンピューターにはその概念がありません)。クラスを使用しているすべての人に、セレクター (名前、基本的に) が である新しいメソッドがあることを発表する必要がありますinitWithNibName:bundle:texte:initWithNibName:bundle:これは、メソッド、メソッド、またはその他のメソッドを上書き、削除、またはその他の方法で操作することはありませんinit。名前の類似性は基本的に、人間の読者 (つまり、あなた) にこれらのメソッドが何をするかについての手がかりを与えるためのものです[1]。

これを個人的に受け止めないでください。ただし、Objective-C (または一般的なオブジェクト指向プログラミング) でのプログラミングに関する優れた本を手に入れてください。これにより、最初のステップがはるかに簡単かつ迅速になります。The Big Nerd Ranch Guides は優れた書籍シリーズです。できるだけ早くiOS Programming: The Big Nerd Ranch Guideを購入することをお勧めします。

[1]: 技術的には、Objective-C でメモリ管理を処理する方法についてコンパイラーに手がかりを与える命名ガイドラインがいくつかありますが、それに入ると、今のところ混乱するだけです。

于 2012-06-27T09:09:02.380 に答える