سؤال

لقد كنت أخدش رأسي حول هذا خلال الساعات الأربع الماضية ، وأحاول جميع أنواع التجارب الصغيرة ، لكن لا يمكنني معرفة الخطأ الذي يحدث. هل يمكن أن يكون هذا خطأ البرمجي؟

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):

تحذير: الأنواع غير المتوافقة مع "struct nserror **" ، "struct nsdictionary" المتوقعة ** "عند تمرير الوسيطة 2 من" initWithContentsofurl: خطأ: "من نوع Objective-C متميز

أنا أستخدم أحدث إصدارات Xcode و Snow Leopard.

هل كانت مفيدة؟

المحلول

أظن أنه يلتقط مثيلًا مختلفًا للمحدد ، initWithContentsOfURL:error: - ربما الشخص في NSAppleScript. تذكر ذلك [NSObject alloc] يعود id.

هل يعمل الرمز الخاص بك كما هو متوقع في وقت التشغيل؟

حاول إلقاء عودة [Test alloc] إلى Test*.

بمعنى آخر


Test *t = [(Test*)[Test alloc] initWithContentsOfURL:[NSURL fileURLWithPath:@"/"] error:&error];
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top