■ sqlite.tbdでなくを指定する方法libsqlite3.dylib Framework追加下部Add other..ボタン 通常は/usrにいけないので、「cmd + shift + G」で /usr/lib/を指定 libsqlite3.dylibを選択 ■ Bridge-Header.hを作成 #importを書く build settingにあるObjectiveC-Bridging Headerに指定 $(SRCROOT)/$(PROJECT)/xxxxxxxxxxxxx.h これで、SQLiteがswiftでつかえるようになるので、buildも、コード補完もするようになる sqlite.tbdでうまくいかなかったと思って、むりやりlibsqlite3.dylibをもってきたが、 Bridge-Header.hをちゃんと設定したらsqlite.tbdでも問題ないようだ。 ■ tableの作成(swift2.0) var documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String documentsPath = (documentsPath as NSString).stringByAppendingPathComponent("main.sqlite") print(documentsPath) var db:COpaquePointer = nil; sqlite3_open(documentsPath, &db) let sql1="CREATE TABLE IF NOT EXISTS dbm (key text PRIMARY KEY,value text)"; var zErrMsg :UnsafeMutablePointer = nil; sqlite3_exec(db, (sql1 as NSString).UTF8String , nil, nil, &zErrMsg); ここまでて、テーブルの作成を確認 ■ ここまでするなら、簡単にObjective-cで書いてbindingする方が簡単な気がする
メモのメモ
開発メモまでいかないメモ。あとでまとめたいと思っているもの。真偽はたしかでない。
2015年10月4日日曜日
[xcode7] swift2.0 sqliteをつかう
2012年10月17日水曜日
[Objective-c]時間の取得・文字列からの変換
■時間のフォーマット NSDate *now = [NSDate date]; NSCalendar * cal = [NSCalendar currentCalendar]; NSDateComponents *comps = [cal components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit fromDate:now]; NSLog(@"%@",comps); compsから年、月等を個別に取得する。取得する値は自分のタイムゾーン。 ■文字列から時間へ NSDateFormatter* formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSDate* date = [formatter dateFromString:@"2012-04-05 13:12:12"]; [formatter release]; NSLog(@"%@",date);//出力 2012-04-05 04:12:12 +0000 指定した時間を、自分のタイムゾーンに応じて変換しているみたい。
2012年10月9日火曜日
xcode pragma mark
#pragma mark - //セパレータ #pragma mark comment // FIXME: comment // MARK: comment // TODO: comment // !!!: comment // ???: comment // ttt: comment //できない
2012年10月8日月曜日
[iOS]ViewControllerでtouchesBeganやボタンのイベントをとるときの注意
以下のようなソースでは、touchesBeganやボタンのイベントはとれない。
hpListViewController* listViewController=[[[hpListViewController alloc]initWithFrame:rect]autorelease]; [contenaView addSubview:listViewController.view];なぜなら、viewはaddSubViewされて保持されるが viewControllerはどこにも関連がないので、解放されてしまう。 だから、利用時にメモリ違反をおこす。 以下のように、retainするか、配列などで保持して、解放されないようにしよう。
hpListViewController* listViewController=[[[hpListViewController alloc]initWithFrame:rect]retain]; [contenaView addSubview:listViewController.view];
2012年10月2日火曜日
[iOS]絵の一部を表示
CALayer* test=[CALayer layer]; test.contents=(id)[UIImage imageNamed:@"test.png"].CGImage; test.frame=CGRectMake(0, 100, 60, 60); test.contentsRect=CGRectMake(0.0f, 0.0f, 0.33f, 1.0f); [self.view.layer addSublayer:test];基本,画像はサイズにfitする。test.contentsRectをしていすることで、絵の部分を指定することが可能になる。
指定は、割合で指定する。
2012年9月27日木曜日
CAEmitterLayer
CAEmitterLayerがiOS5から利用できる。 Emitte:発光体 particleなのかな。 以下のサイトが説明がよい。UIKit Particle Systems in iOS 5 Tutorial
2012年9月22日土曜日
C++ 標準のライブラリがリンクエラーする
まずは、拡張子を「.mm」にすることを確認してみる。
ヘッダーファイルで読み込まれたらそこは、mmにしなくてはいけない。
個人的にはできるだけ、object-cとc++の接点を少なくしておきたい。
ヘッダーファイルで読み込まれたらそこは、mmにしなくてはいけない。
個人的にはできるだけ、object-cとc++の接点を少なくしておきたい。
登録:
投稿 (Atom)