質問

私は過去4時間、これについて頭を掻いて、あらゆる種類の小さな実験を試してみましたが、何がうまくいかないのかを理解できないようです。これはコンパイラバグでしょうか?

test.m:

- (id)initWithContentsOfURL:(NSURL *)aURL error:(NSError **)error
{
    if (!(self = [super init])) {
        return nil;
    }
    return self;
}

main.m:

NSError *error;

Test *t = [[Test alloc] initWithContentsOfURL:[NSURL fileURLWithPath:@"/"] error:&error];

これがコンパイラ警告です(Main.Mから):

警告:互換性のないObjective-Cタイプ 'struct nserror **'、予想される 'struct nsdictionary **' 'initwithcontentsofurl:error:'の引数2を渡すとき

XcodeとSnow Leopardの最新バージョンを使用しています。

役に立ちましたか?

解決

セレクターの別のインスタンスを拾っていると思います。 initWithContentsOfURL:error: - おそらく1つ NSAppleScript. 。それを覚えておいてください [NSObject alloc] andを返します id.

あなたのコードは実行時に期待どおりに機能しますか?

の返品をキャストしてみてください [Test alloc]Test*.

すなわち


Test *t = [(Test*)[Test alloc] initWithContentsOfURL:[NSURL fileURLWithPath:@"/"] error:&error];
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top