أداء محدد رمي حجة غير صالحة, لماذا ا?
-
21-12-2019 - |
سؤال
هذا الخط من التعليمات البرمجية يعمل تماما
[self explodeBomb:obj];
ولكن إذا كنت استبدالها مع السطر التالي ، أحصل على استثناء نسينفاليدارغومنت ، مع السبب هو محدد غير معترف بها.
[self performSelector:@selector(explodeBomb) withObject:obj ];
تعريف الطريقة هو كما يلي:
-(void)explodeBomb:(SKNode *)bomb
وأنا أعلم ، وهذا يجب أن يكون لي عدم فهم شيء أساسي.ولكن لماذا أنا قادرة على استدعاء الأسلوب مباشرة مع أي مشاكل ، ولكن عندما أحاول استخدام performSelector
انها تفجر?بالنسبة إلى السجل ، يتم تعريف الكائن على أنه معرف.حاولت تغيير توقيع إكسبلوديبومب لاتخاذ معرف ومن ثم يلقي صراحة داخل الأسلوب ، ولكن هذا ألقى نفس الاستثناء.أحد يعرف ما هيك أفعله خطأ?
المحلول
استخدام :
والكتابة مثل أدناه
[self performSelector:@selector(explodeBomb:) withObject:obj ];
منذ الطريقة الخاصة بك explodeBomb
لديه حجة لذلك عليك أن تحدد :
لا تنتمي إلى StackOverflow