2014年2月15日土曜日

FMDBでEXE_BAD_ACCESSエラーが発生する

FMDBのexecuteUpdateでEXE_BAD_ACCESSエラーが発生する原因

おそらく変数の型を明示的に指定してあげないとだめみたいですね。

NSString *sql=@"insert into Table values (?);"
int aKey=1;

悪い例:[dbObj executeUpdate:sql, aKey]
良い例:[dbObj executeUpdate:sql, [NSNumber numberWithInt aKey]]

Sqliteの構文エラー

エラーメッセージ例:Error: near "=": syntax error

syntax errorは構文にエラーがある場合に表示されます。
殆どの場合、うち間違えや、コピペミス等くだらないエラーですので、もう1度作成したSQL文をよく見直しましょう。

例えば 「select * from Table where id=1;」このSQL文はエラーとなります。
原因は何かわかりますか?



答えはテーブル名と「where」の間が全角スペースになっているからです。
こういう単純なミスで時間はとられたくないので注意してコーディングしましょう。

2014年2月13日木曜日

UIScrollViewがずれる

UIViewControllerにScrollViewを設定したらなぜか画面が全体的に下にずれてしまった。
どうやらNavigationBarを使用していたのが原因で、NavigationBarの高さの分だけずれてしまっていることがわかった。

解決策としては、storyboard上でUIViewControllerのLayoutプロパティ欄の「Adjust Scroll View Insets」のチェックを外す。
これで正しく動作するようになりました。

2014年2月7日金曜日

TWtweetcomposeviewcontroller is deprecated in ios6

開発言語:Objective-C
警告メッセージ:「TWtweetcomposeviewcontroller is deprecated in ios6」
iphoneアプリ開発で、Twitter連携機能を実装した際の警告

TWtweetcomposeviewcontrollerを使用するのは非推奨ですよと言っている。

解決方法:SLComposeViewCntrollerを使用する。

TWtweetcomposeviewcontrollerはIOS5以前で使用されていたクラスですね。
IOS6からはSocial.frameworkが使用できますのでそちらを使いましょう。

使用例:
SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
    controller.completionHandler = ^(SLComposeViewControllerResult res) {
        [self dismissViewControllerAnimated:YES completion:nil];
    };
        [self presentViewController:controller animated:YES completion:nil];

Social.frameworkはTwitterの他にもFaceBook等のソーシャルアプリとの連携に使えるフレームワークです。

2014年2月4日火曜日

プログラマーとして


 未熟な面もありますが、開発中の経験談や、個人で作成したプログラムの公開等を行っていきたいと思います。