سؤال

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

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

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

أفتح نافذة ، واكتب شيئًا واضغط على CMD+Z ، والتراجع عن الأعمال. أفتح نافذة ، واكتب شيئًا ما ، واختر طرازًا جديدًا على الطاولة ، واكتب شيئًا ما ، وأعود إلى النموذج الأول وحاول التراجع وكل ما أحصل عليه هو صافرة.

شيئا ما على الوثائق جعلني أرفع الحاجب ، حيث يعني أنه لا يمكنني التراجع عن العديد من كائنات النموذج:

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

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

المحلول

قد ترغب في الفئة الفرعية nsundomanager والتجاوز removeAllActionsWithTarget: و removeAllActions, ، على الأقل لتسجيلها ، ربما لجعلهم لا.

لا تنسَ أن تقوم بتثبيت فئتك الفرعية بدلاً من Nsundomanager الأصلي. (من السهل أن ننسى ، وقد لا يدرك بعض القراء أنهم بحاجة إلى القيام بذلك.)

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