swift3でチャットアプリの作り方 〜JSQMessageの使い方〜
こんにちわ、yatsureです。2017.05.15時点の情報です。
ソースコードに、解説をコメントしておきました
swiftで、JSQMessageを使ってチャットアプリを作ろうとして
JSQMessageのフレームワークを作成アプリデータにインストールしたものの
その先があまりにも訳わからないので延々と髪の毛をクルクルし続けたものですが
何とか動いたソースコードをご覧下さい。
以下のソースコードを、チャット画面にしたいviewControllerのコードに丸ごとコピペしてください。
※JSQMessageの使い方を何となく掴む為のチュートリアルとしてご利用ください。
サーバーと連携してないので、このままではチャットアプリとしては使えません。
いやー、まさか海外の方の動画を見漁る羽目になるとは・・・
ライブラリという概念がそもそも全然わかっておらず、めっちゃ苦労しました・・・
しかし苦労した甲斐あって、何となく雰囲気がわかりました。
picker view みたいな感じですね(笑)
必要な構文を書かないとちゃんと動かない
というね。
本当、よく解読したなと褒めて欲しいです(*´・ω・`*)
あとは、メッセージデータをやり取りするサーバーを決めて、
サーバーとのデータをやり取りする仕組みを導入するだけなんですが
一応参考までに、私はfirebaseのサーバーを大人しく使いました♨︎
サーバーデータに変更があったらプッシュしてくれて
アプリ側が自動的にデータを取得する、という仕組みが既に用意されています。
超便利です。
firebaseのデータベースの使い方は、他の方々のブログの方がわかりやすいので
是非そちらを参考になさってください。
因みにチラシ裏の小言ですが
私はfirebaseにデータを保存する時のchildを
user1とuser2の名前をソートし、間に-を入れて直列した文字列にしました。
例 user1:yatsure、user2:yoshimaro
=yatsure-yoshimaro
こうすると、yatsure側でもyoshimaro側でも、同じデータにアクセスできますし、
チャット使用者のユーザー名が被らない仕組みを導入していれば、このchildも被ることはありません。多分。