Avatar ·

هل استخدام استدلال @objc في وضع Swift 4 قديم؟ كيف يمكن إصلاحه؟

مرحبًا بالجميع! لقد قمت بتحديث مشروعي من Xcode 8 (Swift 3) إلى Xcode 9 beta (Swift 4). فور فتح المشروع، أصدر Xcode مجموعة من التحذيرات: "The use of Swift 3 @objc inference in Swift 4 mode is deprecated. Please address this warning..." أنا في حيرة، لأنه في السابق في Swift 3 كنت أستطيع ببساطة كتابة method أو property، وكانت تصبح متاحة تلقائيًا لـ Objective-C. على سبيل المثال، لدي هذا الكود: ```swift class MyClass: NSObject { var name: String = "" func doSomething() { print("Doing something") } } ``` في Swift 3، كان هذا الكود يعمل دون أخطاء، وكنت أستطيع استدعاء `doSomething()` من Objective-C. الآن Xcode 9 يشتكي. هل أحتاج إلى إعادة كتابة المشروع بأكمله؟ ما هو @objc inference ولماذا استخدامه قديم؟ كيف يمكن إصلاح هذه المشكلة بشكل صحيح دون فقدان التوافق مع Objective-C؟ سأكون ممتنًا لشرح مفصل مع أمثلة. <<>>

ما هو @objc inference ولماذا أصبح قديمًا؟

في Sw