どのように私はObjective-Cで、PHPの配列に読みますか。
-
20-08-2019 - |
質問
PHPでは、私が持っています:
$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;
}
}
でのObjective-C - POSTの後、私は次のコードを持っている...
NSURLResponse *newStr = [[NSURLResponse alloc] init];
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:&newStr error:nil];
returnDataリテラル "アレイ" ではなく、$レコードの内容は[]
に等しいです。解決
あなたは、XML型plist
形式にデータをシリアライズする必要があります。 NSPropertyListSerializerは、ファイルから、またはプロパティリスト形式でシリアル化されたデータを含むNSDataオブジェクトから可変又は不変配列と辞書を生成することができる。
NSDictionaryのも、この形式のファイルを読むことができます:
"key" = "value";
"key2" = "value2";
同様に、NSArrayのは、この形式のファイルを読むことができます:
(
"value1",
"value2",
"value3",
"30",
"value5"
);
実際には、私は文字列にスペースが含まれていない場合、引用符はオプションです(しかし、私は、彼らが文字列型を強制する推測)だと思います。
の詳細については、このURL をチェックオールドスクールASCIIのプロパティリストについて。彼らは読み取り専用ですが、その後、再び、彼らは手動または体系的に生成するのに十分に簡単です。
他のヒント
あなたはObjective-Cで読むことができるいくつかの形式で配列をフォーマットする必要があります。私が使用することをお勧めします JSONするます。
あなたはPHP 5.2をお持ちの場合は、は、機能に組み込まれて使用することができ、あなたのデータをエンコードするためにを。たとえばます:
echo json_encode($records);
のObjective-C側では、復号化するために TouchJSON を使用することができます/ JSONをコードしている。
PHP側では、あなたはそれをINGのprint
のではなくJSONやXMLなどの形式に配列をシリアライズする必要があります。 iPhone側はその後、適切なライブラリを使用してNSData
オブジェクトをデシリアライズするでしょうに。