سؤال

أرغب في اجتياز معلمات متعددة من جهاز iPhone SDK إلى PHP Server-Side واجهات مع قاعدة بيانات MySQL.

لقد وجدت بعض الإجابات حول كيفية القيام بذلك، ولكن أواجه صعوبة في معرفة كيفية تضمين العديد من المعلمات.

ما لدي الآن هو


- (IBAction)sendButtonPressed:(id)sender
{
    NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%d", theDate];
    NSURL *url = [[NSURL alloc] initWithString:urlstr];

    [urlstr release];
    [url release];
}

التي من شأنها أن تعمل مع 1 معلمة، ولكن ما أبحث عنه سيكون مثل

http://server.com/file.php?date=value&time=value&category=value&tags=value&entry=value

كيف سأذهب في القيام بذلك؟

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

المحلول

ال - initWithFormat الطريقة تأخذ حجج متعددة للحصول على سلسلة التنسيق.

لذلك يمكنك أن تفعل أشياء مثل هذا:

  NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%d&second=%d&third=%d", theDate, 2, thirdIVar];

- initWithFormat يعمل بشكل متطابق تقريبا printf() وهي المتغيرات.

هنا بعض printf() أمثلة http://stahlforce.com/dev/index.php؟tool=csc02.

تحرير: أين المتغيرات nameField, tagsField, dreamEntry محددة وتعيين؟

ما لم تكن كذلك NSStringق وحدد في @interface لا يمكنك استخدامها بهذه الطريقة.

أقترح الترميز الصعب بعض القيم لاختبار:

    NSString *urlstr = [[NSString alloc] initWithFormat:@"http://server.com/file.php?date=%@&time=%@&name=%@&category=%d&tags=%@&entry=%@", nil, nil, @"Name", nil, @"Tags", @"Dream"];

نصائح أخرى

إنشاء NSURL لا يفتح الاتصالات بخادم. إنه مجرد هيكل بيانات لعقد عنوان URL. تريد أن تقرأ nsurlconnection..

هل كل المتغيرات التي تمر بتنسيقك أرقامك حقا؟ %d هو العنصر النائب لعدد؛ %@ هو كائن. من المستغرب جدا أن تمر NIL إذا كنت تتوقع عددا، حتى لأغراض الاختبار. سوف "العمل" لأن NIL هو 0، لكنه يقترح أن هذه ليست أرقاما حقا.

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