سؤال

انا لدي NSColorWell, ، والتي ترتبط بممتلكات تحتوي على NSString مثيل ، الذي يتحول إلى NSColor من خلال بلدي colontransformer (NSValueTransformer). إنه يحول شيئًا مثل #FF0000 إلى NSColor. يعمل هذا كما هو متوقع ، لكن Colorwell لم يعد يفتح جزءًا منه عند النقر عليه. عندما أقوم بتعطيل الربط ، فإنه يعمل مرة أخرى. أي أدلة على ما أفعله خطأ هنا؟

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

المحلول

العودة نعم في

+(BOOL)allowsReverseTransformation

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

- (id)reverseTransformedValue:(id)value

للتأكد من عدم حدوث ذلك ، إذا لم تكن قد فعلت ذلك بالفعل. (إذا لم تقل مستندات Apple ، فسيتم استدعاء - (ID) Transforvalue: (id) قيمة)

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