سؤال

ومثل أفهم،synthesize في الواقع يعمل على إنشاء حاصل على واضعي. ولكن ما ثم القيامproperty؟ هل هو مجرد وضع معايير لتلك الوظيفة السحريةsynthesize بارد؟

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

المحلول

وتكتبproperty في ملف الرأس

@property float value;

وما يعادل:

- (float)value; 
- (void)setValue:(float)newValue; 

ووالحصول على معلومات عن فئات أخرى، تلك الفئة لديه هذه الأساليب

وsynthesize phisicaly إنشاء هذه الأساليب في تطبيق فئة

نصائح أخرى

و@property يعلن اسم كخاصية. يعني ذلك، سيكون الوصول إليها عبر النقطة جملة (object.value).

ويمكن أن ينظر إليه @synthetize كما ماكرو، التي تخلق الطرق جالبة واضعة. ومن المفيد أن تعرف أنه يمكنك تجاوز هذه الأساليب، حتى لو كنت اكتب لها @synthetize في المكان.

و@property يعلن جالبة و / أو اضع

و@synthesize تنفذ لهم.

وهناك فكرة خاطئة مفادها أن يطلب من التوجيهsynthesize من أجل تنفيذ اضعي وحاصل تم إنشاؤها باستخدام التوجيهproperty، ولكن هذا ليس هو الحال. باستخدام التوجيهproperty دونsynthesize لا تزال تولد اضعي / حاصل، ويسمح لك لاستخدام نقطة تدوين. ومع ذلك، تاركة التوجيهsynthesize سوف يسبب المترجم لتوليد المتغيرات المثال المقابلة مع حرف تسطير الرائدة، على سبيل المثال سوف myVar المنشأة السياحية متغير مثيل _myVar.

وباستخدام تسطير الرائد هو مشترك للاتفاقية التي تسمح لك للتمييز بين الخصائص والمتغيرات المثال. ومن الشائع للعقارات والمتغيرات المثال أيضا للمشاركة في تحمل الاسم نفسه، وهو ماsynthesize لا افتراضيا.

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