خطأ بناء أفنيتوركينغ:"يجب أن يكون إعلان الطبقة المجهولة تعريفا"
-
29-10-2019 - |
سؤال
أنا بدأت مع أفنيتوركينغ لتحل محل أسيتبركست البائد للأسف.يبدو أن الناس يحبون هذا "أفنيتوركينغ" الجديد لكنه لا يبني في مشروعي وأنا لا يمكن معرفة السبب.أتلقى أخطاء في البناء بدءا من Class class = NSClassFromString(className);
في HTTPRequestOperationWithRequest:success:failure
في الملف AFHTTPClient.m
.
الخطأ هو "إعلان فئة مجهولة يجب أن يكون تعريفا" ولقد طلبت تيه جوجل ولكن لم تحصل على أي شيء.مساعدة?
السياق:
- (AFHTTPRequestOperation *)HTTPRequestOperationWithRequest:(NSURLRequest *)urlRequest
success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure
{
AFHTTPRequestOperation *operation = nil;
NSString *className = nil;
NSEnumerator *enumerator = [self.registeredHTTPOperationClassNames reverseObjectEnumerator];
while (!operation && (className = [enumerator nextObject])) {
Class class = NSClassFromString(className);
if (class && [class canProcessRequest:urlRequest]) {
operation = [[(AFHTTPRequestOperation *)[class alloc] initWithRequest:urlRequest] autorelease];
}
}
تحرير:حل لكل إجابة أدناه.ملف التصحيح هنا.
تحرير 2: وقد تم سحب هذه التغييرات في أحدث أفنيتوركينغ ، لذلك أي شخص يجد هذا في المستقبل: مجرد تحميل نسخة جديدة وكنت كل مجموعة. أيضا, كيف هو المستقبل?مرحبا المستقبل.
المحلول
تمكنت من الالتفاف على خطأ المترجم عن طريق إعادة تسمية المتغير "فئة" إلى شيء آخر.لسوء الحظ ، لم أكن قادرا على معرفة لماذا كنت الحصول على المشكلة.وهنا فكرة:حدث لي عندما أضفت أفنيتوركينغ إلى مشروع كبير موجود مع أعلام مترجم غير معروفة.عندما أضفت أفنيتوركينغ إلى مشروع جديد جديد ، لم أكن ضرب المشكلة على الإطلاق.