سؤال

net التي تُرجع صوابًا أو خطأ ولكني لا أعرف كيفية التقاط هذه الاستجابة في تطبيق IOS الخاص بي.

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

بالنسبة لأولئك منكم الذين يعرفون لغة C#، فهي طريقة منطقية، ما عليك سوى تجربة الالتقاط وإرجاع صحيح أو خطأ.

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
    //What to write here to catch my true or false
    if(response) {
       //true
    } else {
       //false
    }
}

شكرا لك على مساعدتك

هل كانت مفيدة؟

المحلول

يجب عليك التنفيذconnection:didReceiveData: للحصول على وحفظ NSData و – connectionDidFinishLoading: حيث يمكنك تفسير البيانات المستلمة على أنها BOOL.

أساسًا didReceiveResponse: تعرف فقط على استجابة الخادم لطلبك وليس الإجابة الكاملة.

نصائح أخرى

يجب عليك التحقق من رمز حالة HTTP للاستجابة، على سبيل المثال:

NSInteger statusCode = [(NSHTTPURLResponse*)response statusCode];

يستخدم رمز الحالة للطلب الناجح النطاق [200..299].

على سبيل المثال، سيتم الإشارة إلى طلب GET الناجح بـ 200 (موافق).

ستتم الإشارة إلى طلب POST الناجح بـ 201 (تم الإنشاء).

ستتم الإشارة إلى طلب DELET الناجح بـ 204 (لا يوجد محتوى)..

أنظر أيضا:ويكي قائمة رموز حالة HTTP.

علاوة على ذلك، يتعين عليك التحقق من نوع البيانات التي أرسلها الخادم إليك:

NSString* mimeType = [response MIMEType];

تم إرسال نوع mime بواسطة الخادم في Content-Type رأس الرد.

أنظر أيضا ويكي MIME نوع وسائط الإنترنت

ما تحصل عليه بالفعل يعتمد بشكل كامل على طلبك والخادم.

على سبيل المثال، قد يجيب الخادم دائمًا باستخدام JSON كنوع المحتوى.في هذه الحالة، الرأس Content-Type التابع إجابة سيكون application/json.سيكون JSON الفعلي الذي يمثل الإجابة مرتبطًا برمز الحالة أيضًا.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top