2

私は iPhone プログラミングの完全な初心者であり、頭を包むことができないという例外がスローされることに遭遇しました。

背景: エラーはカスタム サブビューで発生しており、プログラムをロードするとすぐに発生します。オーバーライドされた drawRect メソッドで例外がスローされます。エラーをスローするコードは次のとおりです。

- (void)drawRect:(CGRect)rect{
    NSNumber *points = [NSNumber numberWithInt: star.numberOfPoints];
    //HERE. Doesn't recognize selector?!
    CGPathRef t = (CGPathRef)[starPaths objectForKey:points];
 /*snip*/

starPaths は、容量 1 の NSMutableDictionary として awakeFromNib で初期化されます。

スローされる例外は -[NSObject doesNotRecognizeSelector:] です

starPaths は、ビューのヘッダー ファイルで次のように宣言されています。

    NSMutableDictionary *starPaths;

として初期化されます

- (void)awakeFromNib{
    starPaths = [NSMutableDictionary dictionaryWithCapacity: 1];
} 

最後に、エントリを追加するコードは、辞書からの nil 応答の受信に依存して、その特定のエントリが構築されます。

助言がありますか?他に提供すべき情報はありますか?明らかな何かが欠けているように感じますが、運が悪くて一日中これに頭を悩ませてきました。

4

2 に答える 2