هل استخدام استدلال @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