البرمجة

تحديث الاتصالات في تطبيقات Swift: الانتقال من NSURLConnection إلى NSURLSession في iOS 9.0

في الفترة الأخيرة، وتحديدًا مع إطلاق iOS 9.0، لاحظ العديد من مطوري التطبيقات تحذيرًا يظهر عند استخدام NSURLConnection في Swift 2.0. يُظهر الرسالة التحذيرية ‘init(request:delegate:startImmediately:)’ was deprecated in iOS 9.0: Use NSURLSession (see NSURLSession.h)، مما يشير إلى أن استخدام هذه الواجهة البرمجية تم تجاوزه وأصبح من المستحسن استخدام NSURLSession بدلاً من ذلك.

لحل هذا التحذير وتحديث التطبيق ليكون متوافقًا مع أحدث إصدارات نظام التشغيل، يفضل بشدة استخدام NSURLSession. تعتبر NSURLSession واجهة برمجة تطبيقات قوية ومتقدمة توفر العديد من الميزات، بما في ذلك إمكانية إدارة الجلسات والمهام بشكل أفضل.

لتحديث رمزك، يمكنك استخدام NSURLSession ببساطة. فيما يلي مثال على كيفية استخدام NSURLSession لإجراء طلب URL:

swift
let url = URL(string: "URL HERE")! let task = URLSession.shared.dataTask(with: url) { (data, response, error) in if let error = error { print("Error: \(error)") } else if let data = data { // يمكنك هنا معالجة البيانات المسترجعة من الطلب print("Data: \(data)") } } task.resume()

يتيح لك هذا الكود إجراء طلب URL باستخدام NSURLSession بدلاً من NSURLConnection، مما يضمن التوافق مع أحدث إصدارات نظام iOS.

لاحظ أنه قد تحتاج إلى تعديل معالج البيانات حسب احتياجات تطبيقك الخاص. يمكنك مثلاً استخدام JSONDecoder لتحويل البيانات إلى هيكل مناسب إذا كانت البيانات من نوع JSON.

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

بالطبع، دعنا نقم بفحص بعض التفاصيل الإضافية حول استخدام NSURLSession في Swift لإجراء طلبات الشبكة.

NSURLSession هي واجهة برمجة تطبيقات تقدم وسيلة فعالة ومتقدمة لإدارة جلسات الشبكة وإجراء طلبات HTTP أو HTTPS. يمكنك استخدامها لتنفيذ العديد من الوظائف، مثل استرجاع البيانات من الخوادم أو إرسال بيانات إلى الخوادم.

في مثال الرمز السابق، تم استخدام URLSession.shared.dataTask(with:completionHandler:) لإجراء طلب الشبكة. هذا الطلب يعتبر من طراز “GET” الذي يستخدم لاسترجاع البيانات من الخادم. إذا كنت بحاجة إلى إرسال بيانات إلى الخادم، يمكنك استخدام الأسلوب uploadTask(with:from:completionHandler:) وتحديد نوع الطلب كـ “POST”.

على سبيل المثال، إذا كنت ترغب في إرسال بيانات معينة إلى الخادم، يمكنك تعديل الكود كما يلي:

swift
let url = URL(string: "URL HERE")! var request = URLRequest(url: url) request.httpMethod = "POST" // قم بتحديد البيانات التي تريد إرسالها هنا let postData = "key1=value1&key2=value2".data(using: .utf8) let task = URLSession.shared.uploadTask(with: request, from: postData) { (data, response, error) in if let error = error { print("Error: \(error)") } else if let data = data { // يمكنك هنا معالجة البيانات المسترجعة من الخادم بعد الطلب الناجح print("Data: \(data)") } } task.resume()

يرجى ملاحظة أنه يجب تحديد نوع البيانات التي ترغب في إرسالها في postData. في المثال أعلاه، تم استخدام سلسلة نصية مشفرة بواسطة UTF-8 كبيانات. يمكنك تعديل هذا بحسب احتياجات تطبيقك.

إذا كنت تتعامل مع بيانات JSON، يمكنك استخدام Codable لتسهيل تحويل البيانات من وإلى هياكل Swift.

مقالات ذات صلة

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

أنت تستخدم إضافة Adblock

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