البرمجة

تحديث كود Swift 1.0 إلى Swift 2.2

عند تحديث الكود من Swift 1.0 إلى Swift 2.2، هناك عدة تغييرات يجب إجراؤها. في Swift 2.2 تم استبدال stringByAppendingPathComponent بـ appendingPathComponent وتم تغيير طريقة الاستدعاء لتتناسب مع التغييرات الجديدة في اللغة. إليك كيف يمكن تحديث الكود الخاص بك:

swift
class func getPath(filename: String) -> String { let documentsDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as NSString return documentsDirectory.appendingPathComponent(filename) }

تم استبدال NSSearchPathDirectory.DocumentDirectory بـ .documentDirectory و NSSearchPathDomainMask.UserDomainMask بـ .userDomainMask لتتناسب مع التغييرات في Swift 2.2. تم أيضًا استخدام as NSString لتمكين استخدام دالة appendingPathComponent على كائن NSString بدلاً من String.

يمكنك استخدام هذا التحديث في كودك ويجب أن يعمل بشكل صحيح في Swift 2.2.

المزيد من المعلومات

بالتأكيد، إليك المزيد من المعلومات حول التحديثات التي تم إجراؤها في Swift 2.2 بالنسبة للكود الخاص بك:

  1. من stringByAppendingPathComponent إلى appendingPathComponent:
    في Swift 2.2، تم استبدال الدوال التي تبدأ بـ stringBy بدوال تبدأ بـ appending، وذلك لمواءمة معايير التسمية الجديدة. لذا تم تحويل stringByAppendingPathComponent إلى appendingPathComponent.

  2. تغيير في استدعاء NSSearchPathForDirectoriesInDomains:
    تم تغيير توقيع دالة NSSearchPathForDirectoriesInDomains في Swift 2.2، حيث تم استبدال NSSearchPathDirectory.DocumentDirectory بـ .documentDirectory و NSSearchPathDomainMask.UserDomainMask بـ .userDomainMask، مما يتيح استخدامها كأعضاء ثابتين داخليين لنوعي البيانات المذكورين.

  3. تحويل String إلى NSString:
    حيث أن appendingPathComponent متاحة فقط على NSString في Swift 2.2، تحتاج إلى تحويل القيمة التي تم إرجاعها من NSSearchPathForDirectoriesInDomains إلى NSString باستخدام as NSString.

باستخدام التغييرات المذكورة أعلاه، يجب أن يكون لديك الكود الذي يعمل بشكل صحيح في Swift 2.2.

زر الذهاب إلى الأعلى