iPhoneアプリ開発局「アプスター」 -19ページ目

iPhoneアプリ開発局「アプスター」

iPhoneアプリの開発に関するお役立ち情報や開発日記、稼ぎの話などを中心としたブログです。

Xcodeでアプリを開発する際

NSUserDefaultsによるデータの保存は

無くてはならない機能ですね。


しかし、困ったことに

NSUserDefaultsは保存できるデータ型の制限が厳しく

開発でよく用いるNSMutableArray型のデータを保存できません。


ではどうすればデータの保存ができるのでしょうか


方法はいくつかあるんですが

今回はその中で最も簡単な方法を紹介しようと思います。




解決案の一つとして

NSMutableArray型のデータを

NSArray型のデータに

型変換することが挙げられます。


型変換は以下のようにして行うことができます。


NSMutableArrayからNSArrayへの変換
//copy関数による変換
NSMutableArray *muarray
NSArray
*array = [muarray copy];

//キャストによる変換
NSMutableArray *muarray
NSArray
*array = (NSArray *)muarray;


NSArrayからNSMutableArrayへの変換
//mutableCopy関数による変換
NSArray *array
NS
MutableArray *muarray = [array mutableCopy];

//キャストによる変換
NSArray *array
NS
MutableArray *muarray = (NSMutableArray *)array;


上記の方法の注意点としては

NSStringなどの単一オブジェクトしか保存できず

自前で作ったクラスなどに対応していないことです。

簡単なテキストデータ群を保存させるのにはすごく便利なんですけどねw



自前で作成したクラスオブジェクトの保存方法は

自作クラスをNSUserDefaultsで保存する方法

で解説しています。


それでは、また



プロフィール画像を描いてみました。

正直、絵心なんてこれっぽっちも無いので、

ピクシブなんかで気に入った絵師さんの絵を参考に描きました。


最初は猫のつもりで描いていたんですが、

出来上がった代物はなぜかネズミっぽくなりました(どうしてこうなった


そこで急遽、髪の毛を付け足したり

頬紅をつけたりしていたらこんなんになっていましたw


まだまだ、改善の余地はアリそうですが、

とりあえず、これで完成ということにしました。


これが、アクセスアップの足がかりにならんことを・・・


今日は、昨日言っていた恋愛ネタのアプリの企画書を製作しました


まぁ、企画書と言っても

アプリの方向性や実装内容を定義しているだけの

簡単なモノなんで

企業とかで作られている仰々しいものではありませんけどねw


しかも、恋愛なんて感情優先で突っ走っていくタイプなんで

今回のように、恋愛に関して理論建てて考えていくのは

苦行に他なりませんでした


いや~、恋愛って難しいねw


何はともあれ、企画書が出来上がったので

この企画書を元に、アプリに使用する素材の作成をしていこうと思います。


アプリ製作において、この素材作りが1番しんどいですねw

この素材で売れるか売れないかが決まってくるんで

手を抜くことが許されないところですね。


逆に、プログラミング部分は結構楽だったりします。

使い回しし易いですし、

少しくらい手を抜いても見た目には直結しませんしね ←おい


まぁ、ゲームアプリなんかだと話は別なんですけどね・・・

とりあえず、これからしばらくは素材作りがメイン作業になると思います。

開発中の画面などが出来てきたらちょいちょい載せていきます。


それでは、また

Xcodeではテキストフィールドに入力された数字や

文字列データとして存在する数字、

NSArray型配列に格納した数字を

int型などの数字データとして扱いたいときが、

かなりの頻度であるかと思います。


C言語を知っている方からすれば、

NSString *str;
int num = (int)str;

とキャストすればいいじゃないか

と安直に考えてしまうんですが、

Objective-Cではエラーとなってしまいます。


では、どうすれば型変換できるのかとういことですが、

Objective-CではintValueという型変換のための関数が用意されています。


【解決方法】

NSString *str;
int num = [str intValue];


テキストフィールドのデータの場合

IBOutlet UITextField *hoge;
int num = [hoge.txt intValue]:

となります。



なお、NSArray型に格納した数字は

NSString型として格納されているので(格納の仕方にもよるが・・・)

objectAtIndex
関数で取り出せば、

上記の方法でint型に変えることができます。



また、同機能の関数としてintValueのほかに

shortValue
longValue
floatValue
doubleValue

などがあります。

そろそろ現在の進捗状況などを話していこうと思います。


現在はアプリ1つをAppleに申請しており、
その審査待ちといったトコロです


最近、Appleの審査が厳しくなってきているようで、
私も何度かリジェクト(審査落ち)を受けていますし、
今回申請しているアプリも1度リジェクトを受けています。


一応、落とされないようしっかりと作りこんだんですが、
かなり不安なところです
っていうか、これで落ちたらかなりショックです


まぁ、審査が始まるまでまだ2~3日かかるので
今から心配していては気が持ちませんねw


という訳で、次のアプリ製作を始めようと思います。
本来なら、前のアプリをAppleに提出した直後から
開発を始めるべきなんですが、大学や就職先関連のイベントで
バタバタしているうちに、かなり時間が立っていました


可能な限り、開発ペースは上げていきたいですね


さて、製作するアプリの方向性についてですが、
今回は恋愛ネタで行きたいと考えています。


これまでは、ダイエットなどの健康関連のアプリをリリースし、
ブラック企業をネタにしたアプリを申請してきました。
そろそろ、開発にも慣れはじめて来たので、
ここで一発、人気の高いジャンルを攻めていこうと思います


まだまだ、構想段階で
全然まとまってませんが、
この方向性で進めていくことにします。


2週間以内の完成を目標に頑張っていきます。
(リリースはそこから1週間以上かかります)


ここまで読んで下さってありがとうございます。
それでは、また