تحذير المترجم عند تمرير nserror ** كمعلمة طريقة
-
25-09-2019 - |
سؤال
لقد كنت أخدش رأسي حول هذا خلال الساعات الأربع الماضية ، وأحاول جميع أنواع التجارب الصغيرة ، لكن لا يمكنني معرفة الخطأ الذي يحدث. هل يمكن أن يكون هذا خطأ البرمجي؟
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];
لا تنتمي إلى StackOverflow