سؤال

في فب لدي:

$result = mysql_query($query);
// if successful query, return the records
if ($result)
{
    // if not empty result, return array of records
    if (mysql_num_rows($result))
    {
        $records = array();
        while ($row = mysql_fetch_assoc($result))
        {
            $records[] = $row;
        }
        return $records;
    }
     }

في الهدف-C - بعد ما بعد لدي البرمجية التالية ...

NSURLResponse *newStr = [[NSURLResponse alloc] init];
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:&newStr error:nil];

وreturnData تساوي "صفيف" الحرفي، وليس محتويات $ السجلات []

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

المحلول

ويجب أن serialise البيانات إلى نوع XML شكل plist إذا كنت تستطيع، ومن ثم يمكن تفسير أصلا من قبل الطبقات الكاكاو مثل NSArray وNSDictionary. NSPropertyListSerializer غير قادرة على إنتاج المصفوفات والقواميس قابلة للتغيير أو ثابتة من ملف أو من كائن NSData التي تحتوي على البيانات المتسلسلة في شكل بليست.

وNSDictionary يمكن أيضا قراءة الملفات في هذا الشكل:

"key" = "value";
"key2" = "value2";

وبالمثل، يمكن NSArray قراءة الملفات في هذا الشكل:

(
     "value1",
     "value2",
     "value3",
     "30",
     "value5"
);

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

هذا URL للحصول على مزيد من المعلومات حول قوائم الملكية ASCII تغذية RSS. للقراءة فقط هم، ولكن بعد ذلك مرة أخرى أنها سهلة بما يكفي لتوليد يدويا أو منهجي.

نصائح أخرى

وتحتاج إلى تنسيق مجموعة الخاصة بك في بعض الشكل الذي يمكنك أن تقرأ في الهدف-C. أوصي باستخدام JSON .

إذا كان لديك PHP 5.2، يمكنك استخدام المدمج في وظائف للتشفير البيانات الخاصة بك. على سبيل المثال:

echo json_encode($records);

في الجانب الهدف-C، يمكنك استخدام TouchJSON للفك / ترميز JSON.

في الجانب PHP تحتاج إلى تسلسل مجموعة إلى تنسيق مثل JSON أو XML بدلا من مجرد printing ذلك. على الجانب فون عندئذ إلغاء تسلسل الكائن NSData باستخدام مكتبة المناسبة

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