11

私は Facebook のチュートリアルに従ってユーザーのウォールに投稿しています: http://developers.facebook.com/docs/howtos/publish-to-feed-ios-sdk/ .xib プロジェクトを念頭に置いて作成されていますが、私はこれまでのところ、私の絵コンテ プロジェクトですべてうまくいくことができました。しかし、initWithNibName:bundle: メソッドにコードを挿入する必要があるところまで来ましたが、ストーリーボードを使用しているため、これを行うことができません。また、メソッドがいつ呼び出されるかを正確に判断するのは難しいため、単に initWithNibName:bundle: という名前のメソッドを記述して、それを他のメソッドから呼び出すことはできません。誰かが私の問題を解決する方法を知っている場合は、そう言ってください。ありがとう。

4

1 に答える 1

39

私は自分でこの問題に遭遇しました。ストーリーボードは を使用していないように見えますが、またはinitWithNibName:bundle:のいずれかを使用しています。initWithCoder:(NSCoder *)aDecoderinitWithStyle:(UITableViewStyle)style

2 つのメソッドのデフォルトの実装は次のようになります。

- (id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (id)initWithStyle:(UITableViewStyle)style
{
    self = [super initWithStyle:style];
    if (self) {
        // Custom initialization
    }
    return self;
}

私はまだ initWithStyle バージョンを自分で使用していませんが、UITableViewController に対して呼び出されると思います。疑わしい場合は、メソッドの名前 (またはその他の一意の文字列) を出力する NSLog() 呼び出しと共に、両方のメソッドをファイルに追加するだけで済みます。次に、シミュレーターで実行して、どちらが呼び出されたかを確認し、もう一方を削除できます。

initWithNibName:bundle:他のinit方法から自分自身を呼び出すことは強くお勧めしません。コードを正しいメソッドに移動することをお勧めします。

于 2012-08-16T15:19:45.510 に答える