カテゴリー: Xcode/iPhone/iPad

Xcode覚書 Core Data/マイグレーション

XcodeでMaster-Detailのテンプレートを使って、お勉強をしていたのだが、Detailに表示するデータを増やしたくて、xcdatamodeldを開いて、Attributionを増やした。

って、それだけで動かなくなった・・・

調べたら「マイグレーション」をしなければならない!ってなってて、「マイグレーション」ってなんやねん?ってなった。

よくわからないが、

・古いデータが最新のデータ構造と違うから動かへんねん
・せやから、古いデータ消しなはれ
・でもな、マイグレーションいうのがあって、項目の増減をどないかしてくれるらしいわ
・自動でマイグレーションを行わせたいんやったら、コーディネータ構築のoptionを変えとき!

まぁ、大阪弁で言うならこんな感じか・・・
(はしょりすぎだけど)

で、ソースは、

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];

と、変数を設定しておいて、

[persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType
configuration:nil
URL:url
options:options
error:&err]);

デフォルトでnillになっているoptionsパラメータ?を設定した変数に変更する。

(自分への覚書)
Entityを追加したり、Attributeを増減させたりした後、
Core DataのNSManagedObject Subclassファイルを新しく作成するのを忘れずに。

Xcode覚書 main.mでエラー確認

Buildが成功しても、なぜかエラーになるので、エラー原因を突き止めるための方法。

困ったことに、また忘れてしまい、過去に作ったコードを探しまくり、ようやく見つけた。

 @autoreleasepool {
  @try {
   return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
  } @catch (NSException *exception) {
   NSLog(@"%@",exception);
  }
 }

TryーCatchでエラーをログに表示させれば、ちょっとは原因に近づけるはず。(ハズ)

iPhoneアプリ勉強再開

キックボードに乗ってた子供が交差点に飛び出してトラックにはねられて死んだらしい。
子供やその親には気の毒な話だが、もっと気の毒なのはトラックの運転手だ。
こんなんで人殺し扱いされてはかわいそうだし、ちゃんと法改正して、歩行者にも相応の責任をきっちり負わせるべきだと、私は思う。
(この場合、キックボードを買い与えていた親にも)

自転車もそうだが、あまりにも手軽すぎるために、運転能力(技術と知識)がなくても平気で乗っている人が多いが、その責任は自動車運転と変わりなく取らせるべきだというのが私の考えである。
社会に出るからにはそれ相応の責任が伴うということを子供のころからわからせるのが大人の役目だとも思う。
当然、大人には、さらなる自覚と行動が求められるはずである。

さて、Xcodeだ。
夏のはじめに早くも夏バテして何のやる気も起きなかったのだが、ようやくMacbookを立ち上げてアプリ作成を再開しようという気になった。
この扱いにくい開発環境もStoryboardとObject-Cファイルとの関連付けや、簡単な画面遷移ならチョコチョコっとできるようになった。
値の引き渡しも、とりあえずAppDelegateに入れて・・・みたいのものであればできる。

他の人が1,2週間ぐらいでわかったことを私は半年ほどかけてようやく理解できた。
(なんて軽い脳みそなんだ・・・)

できるようになりだすと、楽しくなってくるのだが、どうせまた(自分にとっては)巨大な壁が立ちふさがってくれそうだ。

今作っているアプリは、インターネットの接続確認と、XMLのパースがうまくできれば!ってところまで来ている。

やっと人に見せられるようなアプリができそうでウレシイ。

Win8.1/iOS/Xcode5

タブレットが欲しいんだけど、iOS7がでる秋までとりあえずは待ち。
Win8.1がどんなんかによって、PCを新しくするのもありかなぁ・・・などとVAIOを物色してみる。
Xcode勉強中だが、Xcode5が出るってので、今まで作ったやつ使えなくなったらどうしよう・・・と焦る。

あぁ、なんかモヤモヤするぅ!

Macは直感的?

「Macは直感的」っていう人がいるけど、私にはサッパリだ。

iPod Touchを買って、手に持った瞬間、「電源ってどこ?」だったし、どうやって電源OFFにするのかも「???」だった。

Macにしても同じ。

マウスボタンが1つのほうがわかりやすい?

2つぐらいなら使いこなせるでしょう。
Windowsを使ったあとでMacを使うと、もう鬱陶しかった。
(家でMacだけ使ってた時は、全然そんなことなかったけど、仕事でWindowsを使い始めたら一変した。)

「な~んで、右クリックがないの!」

みたいな。
もう、マウスパッドの使い方なんて魔法にしか思えん。
でも、ショートカット覚えたら、ショートカットのほうが間違えがないし早い。
(Macってマウスジェスチャじゃなくて、ショートカットだと思う。)

なので、正直、「Macは直感的」って言ってる人は、Macをわかってないか、日本語の使い方間違えてるか、どちらかだと思う。
(私もわかってないけどサ)

そんな私だが、時流に勝てず、今Macを触っている。
というのも、会社でいよいよ「iPhoneアプリを作ってみるべし!」ということになり、私は今Macの使い方から勉強中。

auでiPhone5、willcomでストラップフォン

いやぁ~、嬉しいニュース。

まずは、iPhone5がauでも使えるようになるらしいニュース。

うちの家族は、au by KDDI&家でもKDDIなので、これはGood News。
ポシャらないことを願います。
そして、これに触発されて、もっと面白いAndroid携帯が出てくることも楽しみにしておきます。

そして、willcomでストラップフォン登場。

ストラップフォン WX03A

待ってました!

Willcomなら出してくれるのではと思っていたケド、ようやく・・・kao21.gif

家族で唯一willcom PHSを使用している私。
(どうせ、電話架けないし、架かってもこないし・・・あぁサミシイ人生だ。)

W-VALUE契約が12月に終わるから、検討してみよう。