APP -> MySQL: アプリからJSON形式でサーバーへ送る
アプリからサーバーに送るデータ/パラメータの数が多く動的ならば、JSONに変換してサーバーに送ることが必要だと思います。
参考サイト:
キモくないイラストでiOSアプリ勉強-Swiftサラリーマン
以下2ステップで進めてみます。
- .swiftで、NSDictionaryをJSONに変換して、URLエンコードする
- .phpで、JSONを配列に戻し、MySQLデータベースに送る
.swift
ポイント
NSDataをNSStringにして、.phpに送るためのsyntax、”変数名=変数値”の形に揃える
.php
ポイント
"INSERT INTO shop SET item_name='$name'"とスッキリ記述(Swiftサラリーマンさんありがとうございます)
結果
雑感
.swift内でバックグラウンド処理で、
completionHandler: { (data, resp, err) のdataには、.phpファイルのechoメソッド(表示させるメソッド)の記述が戻ってきていました。
つまり、ここを見て.phpへの通信完了を判断したらいい。ということでしょうか。completionHandlerをもう少し掘り下げてみようと思います。
(追記:Closure expressionと呼ばれるこの型では、taskが完了するとcompletionHeandlerが呼び出されるようです。ですので、.phpの方で完了した時点で、xxを返し、xxが条件文を書いてあげれば、「POSTが完了したらxする、 POSTが完了しなかったらyする」といったことができそうです。next stepは、SQLiteに一旦記録させてからサーバーに送る。かな。)
来週火曜日から日曜まで、人生初のシドニー出張です。コケージョン(白人)なんだけど地域的には、アジアの一部に入るオーストラリア。個人的に、イージーで人当たりも良く、鼻にかからない感じが、大好きです。たまにイージー過ぎて期日がいい加減なことはご愛敬。久しぶりの冬(南半球)を楽しんできます!