0

これはプロトコルとデリゲートの使用に関連しており、問題を少し絞り込みました

正しく表示される2つのビューを持つNavigationControllerがあります。

「GraphView」は、GraphViewControllerと呼ばれるViewControllerのビューです。オブジェクトインスペクタでは、「GraphViewController」と「GraphView」がそれぞれViewControllerとViewの[カスタムクラス]ボックスに正しく表示されます。

ただし、GraphViewControllerでは、このコード(以下)をsetGraphViewメソッドに配置しましたが、呼び出されることはありません。これは、GraphViewControllerがGraphViewのGraphViewControllerとして設定されていないかのようです。

私が使用したコードは次のとおりです(私は@synthesize GraphViewをさらに上に)

- (void) setGraphView:(GraphView *)graphView {
    _graphView = graphView;
    self.graphView.dataSourceDelegate = self;
    [self.graphView setNeedsDisplay];
    NSLog(@"just set Graph View");
    }

NSLogメッセージが表示されることはありません。これは、同様の(ただし機能している)アプリケーションで発生します。

4

1 に答える 1

0

リンクについてのコメントは手がかりでした。ビューの下のバーにある円形のアイコンからGraphViewViewコンポーネントにCtrlキーを押しながらドラッグしてリンクを作り直しました。つまり、ViewコンポーネントはViewControllerの横にあります。

インスペクターの内容はまったく同じままでしたが、その後コードが実行されるという点でうまくいきました。

于 2012-09-06T22:03:55.040 に答える