خطأ بناء أفنيتوركينغ:"يجب أن يكون إعلان الطبقة المجهولة تعريفا"

StackOverflow https://stackoverflow.com/questions/8894475

  •  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: وقد تم سحب هذه التغييرات في أحدث أفنيتوركينغ ، لذلك أي شخص يجد هذا في المستقبل: مجرد تحميل نسخة جديدة وكنت كل مجموعة. أيضا, كيف هو المستقبل?مرحبا المستقبل.

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

المحلول

تمكنت من الالتفاف على خطأ المترجم عن طريق إعادة تسمية المتغير "فئة" إلى شيء آخر.لسوء الحظ ، لم أكن قادرا على معرفة لماذا كنت الحصول على المشكلة.وهنا فكرة:حدث لي عندما أضفت أفنيتوركينغ إلى مشروع كبير موجود مع أعلام مترجم غير معروفة.عندما أضفت أفنيتوركينغ إلى مشروع جديد جديد ، لم أكن ضرب المشكلة على الإطلاق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top