سؤال

حسنًا ، لقد حصلت عليها إلى Codesign (تبين أنك لست بحاجة إلى رؤية علامة الكود والمضمنة. لا يمكنني العثور على المشكلة بعد النظر في جميع المشاركات الأخرى حول هذه التحذيرات ...

في welcome_backview.h:

 @interface Welcome_backView : UIView {
Welcome_backViewController *refParentViewController;

}


- (id)initWithParentViewController:(Welcome_backViewController *)parent;
- (void)setSubviewsToLandscape;
- (void)setSubviewsToPortrait;

في الترحيب

  #import "Welcome_backView.h"
  #import "Welcome_backViewController.h"
  @interface Welcome_backView()
//

@end

@implementation Welcome_backView



 - (void)setSubviewsToPortrait{
//do great things
 }

 - (void)setSubviewsToLandscape{
    //do more great things
 }

ثم هذا من WELIS_BACKVIEWCONTROLLER.M:

#import "Welcome_backViewController.h"
#import "Welcome_backView.h"

@interface Welcome_backViewController()
-(void) arrangeViews;
@end

@implementation Welcome_backViewController

UIView *welcome_backView;

 - (id)init {

welcome_backView = [[Welcome_backView alloc] initWithParentViewController:self];
    self.view = welcome_backView;
}

-(void) arrangeViews {
//if one thing
    [welcome_backView setSubviewsToPortrait];
//if another thing
    [welcome_backView setSubviewsToLandscape];
}

ومثل العديد من الملصقات ، أحصل على تحذيرات "Uiview" قد لا تستجيب لـ "-setsubviewstolandscape" (وللصورة ... نفس التحذير). لقد جربت جميع المشتبه بهم المعتادين - أخطاء أخطاء في هذه الطريقة ، باستخدام الفصل بدلاً من المثيل ، وليس استيراد الرأس أو نسيت وضع إعلانات الطريقة في الرأس.

الحقيقة هي ، يبدو أن القانون يعمل بشكل جيد ...

هل يمكن لأي شخص رؤية ما ارتكبته خطأ (هل يمكنني التخلص من التحذيرات)؟

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

المحلول

يقول التحذير "قد لا يستجيب Uiview ..." لأنك أعلنت WELL_BACKVIEW IVAR باعتبارها UIVIEW بدلاً من فئة الفرعية الخاصة بك.

لا يحتوي UIVIEW على الطرق setSubViewStoxxx-فئة فرعية من ذلك.

غير هذا:

UIView *welcome_backView;

الى هذا:

Welcome_backView *welcome_backView;

إنه يعمل حتى عند إعلانه على أنه UIVIEW لأنه في وقت التشغيل ، يشير IVAR إلى مثيل لـ WELL_BACKVIEW الذي يستجيب لطرق SetSubViewStoxxx.

شيء آخر لا يسبب مشاكل (حتى الآن) هو أسماء الأساليب. يتم استخدام أسماء الأسلوب التي تبدأ بـ "SET" بشكل عام لطرق Property Setter ويمكن أن تتسبب لاحقًا في الارتباك.

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