سؤال

وتوسيع قالب المساعدة

وأنا أعمل مع القالب كسكودي المساعدة (Mainside / الجانب الثاني) وأنا بحاجة لإضافة شاشة جديدة. واضاف لقد:

 docView.xib (copy of FlipsideView.xib)
 docView.m
 docView.h
 docViewController.m
 docViewController.h

في rootViewController.h أضفت:

 UINavigationBar *docNavigationBar;
 docViewController *docViewController;

 @property (nonatomic, retain) UINavigationBar *docNavigationBar;
 @property (nonatomic, retain) docViewController *docViewController;

في rootViewController.m، وتوليفها الإضافات:

 @synthesize docNavigationBar;
 @synthesize docViewController;

وأفعل استيراد بلدي. ح إلى rootViewController.m:

   #import "docViewController.h"   

وعندما أحاول تجميع I خطأ خارجا مع:

RootViewController.m:22: error: syntax error before 'docViewController'

وتحذيرات:

RootViewController.m:160: warning: property 'docViewController' requires method       '-docViewController' to be defined - use @synthesize, @dynamic or provide a method implementation

وRootViewController.m: 160: تحذير: الملكية "docViewController" يتطلب طريقة "setDocViewController:" أن تكون محددة - استخدامsynthesize،dynamic أو توفير تطبيق الأسلوب

ما الذي فاتني؟

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

المحلول

والواقع، وأعتقد أنه من المفترض أن وضعت docViewController (هو الجديد تحكم الرأي، أليس كذلك؟). في أي حال، إذا كان هذا هو ما كنت تعني، وليس FlipsideViewController كما يقول اريك، ثم مشكلتك هي أنك أطلقوا عليه اسم نفس الخاصية. فكرة سيئة. طبيعية اتفاقية الهدف-C هي أحرف كبيرة الحرف الأول من أسماء صفك، ثم أحرف صغيرة منها عند استخدامها من الخصائص، وما إلى ذلك.

docViewController *docViewController;

ويجب أن تكون:

DocViewController *docViewController;

وانها ستعمل بشكل افضل كثيرا على هذا النحو:)

نصائح أخرى

في rootViewController.h، يبدو وكأنه خط إعلان بك:

docViewController *docViewController;

ويجب أن تكون:

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