独自クラスをUserDefaultsで保存するには[Swift]

独自クラスを作成し、それをUserDefautsに保存してデータを永続化したい場合、シリアライズする必要があります。

 

シリアライズ・・・オブジェクトの内容をバイナリに変換すること

 

iOSにはシリアライズ、デシリアライズのためのクラスが用意されています。

それぞれ、NSKeyedArchiverクラスとNSKeyedUnarchiverクラスです。

知りあらず処理を実行することで、オブジェクトはシリアライズされたデータを扱うことのできるData型に変換されます。

伴侶となる書籍を買いました。

f:id:team_ikeike_app:20170605011527j:plain

SBクリエイティブ:はじめてのAndroidプログラミング

 

お疲れ様です。イケイケ担当横山です。

今週もイケイケな週末を過ごしました。

 

転勤によってだいぶ更新が開いてしまいましたが、落ち着いてきたのでこれからバンバン更新していきます。端的にまとめていきます。

 

今週は本を買いました。超初心者でも大丈夫、とこんな機能を使ってこういうふうにアプリを作ろう、が乗っているので選択しました。

本当に良かったかはこれから更新していきます。

 

とりあえず、現状、平日は調査、休日は実装のはずが、平日は疲れて寝る、休日に調査(本を買うだけ)になっているので、せめて休日に実装していきたいと思います。

今週はエミュが重すぎて使えない問題があるので、平日はその調査に当てます。

 

ということで、具体的にコミットしました。スモールスタートでもやめないことが大切だと思います。ゆるやかに進んでいくのでこれからもよろしくお願いします。

 

 

iOSでデータを扱う方法

swift学習中 team_ikeike_app 穂積です。

 

今日は、iOSアプリでデータを永続化する仕組みについて学習したので要点をまとめておきます。

 

iOSアプリで最も気軽に利用できる永続化の仕組み:NSUserDefaults

NSUserDefaultsは、永続化の仕組みであり、「key=value形式」でデータを保存することが可能で、

実装の際のコード量も少なく便利です。

この形式で保存したデータはローカルストレージのアプリ内部にplist形式で保存されます。

*plistの実体はxml

 

NSUserDefaultsの処理速度は非常に高速。毎回上述のplistに直にアクセスするのではなく、ファイルの内容をメモリに読み込んでおき、

それをアプリが参照する形式だからです。超便利ですね!

*このように一時的にメモリに値を保存して利用する形式をキャッシュと呼びます。

f:id:team_ikeike_app:20170527155513p:plain

 

f:id:team_ikeike_app:20170527160414j:plain

このようにして、データの永続化が可能です。

ただ、NSUserDefaultsはアプリ起動時にメモリにデータを読み込むため、あまり大量のデータを扱うとアプリ起動が遅くなります。

そのためNSUserDefaultsで扱うのは軽量なものに止めるよう注意しましょう!!

*参考書籍*

本気ではじめるiPhoneアプリ作り Xcode 7.x+Swift 2.x対応 黒帯エンジニアがしっかり教える基本テクニック (ヤフー黒帯シリーズ)

project・task管理にJootoを採用

team_ikeike_app 穂積です。

 

team_ikeike_appでは、チームのタスク管理にJootoを採用しています。

90000ユーザーが使っている、今話題のタスク管理ツールです。

www.jooto.com

 

会社ではRedMineを利用していますが、Jootoでのタスク管理の方が

タスクをより楽しくできます。

こんな感じです。

f:id:team_ikeike_app:20170520204409p:plain

今日の活動予定

team_ikeike_app 穂積です。

今日の活動予定をあらかじめコミットしておきます。

 

今日はイケイケ担当横山さんと共に渋谷にあるfabCafeにてとりあえず動くアプリを実装しています。

fabCafeはwifiがあり、道玄坂の上の方にあり落ち着いているため

ちょっとした作業をするのに最適です。

 

fabcafe.com

 

横山さんは何か食べてました。

 f:id:team_ikeike_app:20170520182539j:plain


今日の目標

穂積:計算機アプリの実装・toDoアプリの実装(本に沿って)

横山:追加・削除のできるリストの実装

 

以上を目標に取り組みます。

 

アプリで小さな幸せを

f:id:team_ikeike_app:20170518094906j:plain 

team_ikeike_app 穂積です。

 

イケイケなアプリで

人々の日々に小さな幸せを届けたい

と願っています。

 

ただ便利なだけのアプリを作りたいのではなく、人の五感に響くようなそんなアプリを提供していく予定です(内容はまだ秘密です)

 

さて、私は今の会社に入る前は関西を母体とするパンメーカーに勤めていました。

関西ではよく親しまれているメーカーで、子どもの頃からそこの菓子パンを食べて育ちました。

母がよくその会社の8個入りのパンを買って来てくれるのですが

私は三人兄弟で、朝早く起きた2人が3つ、遅かった1人が2つパンを食べれました。

そのパンが大好きだったので私はいつも早起きして3つ食べる権利を勝ち取っていました。

 

『早起きして1つ多く大好きなパンを食べれる』

こんな些細なことでも私は夜、翌朝が楽しみで朝には幸せを感じていました。

 

このような経験から、その会社に入って

大好きなパンを色々なスーパーやコンビニに置くことで多くの人にも同じような幸せを感じてほしいと思っていました。

 

前置きが長くなりましたが、

私はこのチームで、そんな小さな幸せを届けていけるようなアプリを開発し提供したいと強く想っています。

 

そんな想いのこもったアプリを届けます!!

第一次イケイケ戦略

こんばんは。イケイケ担当の横山です。

イケイケな時間に更新です。お察しください。

 

さて、私たちは一応、社会人をしています。

弊社は相当な労働時間です。平日労働時間のみを見るとなかなかブラックな企業です。その他の待遇で帳消しにはなっていますが。

 

さて、この時間に更新するくらいなのでイケイケなアプリを作る時間がありません。イケイケパーリィは終わった時間です。

しかし、われらがボスがどんどんアイデアだけ出しています。パーリィ終わってるのに飲み足りないって喚き散らすタイプですね。

 

乗っけから大惨事なので施策を打っていきます。

喚き散らしてた内容の中で唯一いいなと思ったものです。

 

平日は調査、土日でガッと、のスタンスで計画を進めていきます。

当たり前っぽいですよね?補足します。細かい点は別の記事に回すとして、今回は要点をまとめます。いいな、と思った理由です。

 

・プログラムの作成にまとまった時間を使える

 今日は1時間、明日は1時間、では実装はなかなか進みません。IT系で働いているので実感しています。細切れの時間は非常に使いにくいです。これは土日に移します。

 

・細かいタスクをうまくつぶせる

 実装以外にも調査したりやることは山積みです。調べる事とかは時間を切ってパっと調べた方が効率よさそうですよね。そういうものは平日に移します。

 

・チームメンバーに余計なプレッシャーをかけない

 これが地味に効くことを期待しています。今回は楽しくイケイケなアプリを作りたい。そのため、平日の仕事が忙しくてこっちのタスクができない!という言い訳を存分に使える環境にしたいです。これは後で詳しく書きたいですね。

 

・執筆との相性が非常によい

 調査系は執筆(blogの更新)と非常に相性がいいです。自分が調べたことをアウトプットする場所にできますし。パっと調べて、パっとまとめる。これをうまく回せるといいなと思います。備忘録程度でも。

 

このあたり考えると、平日・土日分割スタイルはかなり有効な気がします。いかがでしょうか?

今時点では平日ですらだいぶやってしまっているので、今後、改善していきます。それではまた明日。