2015-01-01から1ヶ月間の記事一覧

Swift でクラス名の取得

ios

環境: Swift version 1.1 (swift-600.0.56.1) NSStringFromClass を使用すると、 "プロジェクト名.クラス名" という文字列が取得できる。 class TestClass {} NSStringFromClass(TestClass().dynamicType) NSStringFromClass(TestClass)

UITableView をスクロールさせない

ios

環境: iOS SDK 8.1 tableView.scrollEnabled = false

MagicalRecord でシミュレータ実行時に作成された sqlite のデータベースファイルを探す

ios

環境: iOS SDK8.1 MagicalRecord で MagicalRecord.setupCoreDataStackWithAutoMigratingSqliteStoreNamed("database.sqlite") のように実行した場合、シミュレータでは ~/Library/Developer/CoreSimulator/Devices/デバイスID 以下に作成される。 デバイス …

UITextField のテキストが変更される時のイベント

ios

環境: iOS SDK 8.1 textField.addTarget(self, action: Selector("textChanged:"), forControlEvents: .EditingChanged) func textChanged(textField: UITextField) { println(textField.text) }

iOS で下バーでタブみたいなやつ

ios

環境: iOS SDK 8.1 こういうやつ UITabBarController を使う。 let controller1 = UIViewController(nibName: nil, bundle: nil) controller1.tabBarItem = UITabBarItem(tabBarSystemItem: .Favorites, tag: 1) let controller2 = UIViewController(nibName…

Swift で Objective-C の @synchronized

環境: Swift version 1.1 (swift-600.0.56.1) クリティカルセクションを作りたいとき、Objective-C の場合は @synchronized(obj) { ... } となるところを Swift の場合は objc_sync_enter(obj) ... objc_sync_exit(obj) とする。 exit 漏れが怖いのでラップ…