[html]aタグからGoogleMap起動
aタグからGoogleMap起動
サンプル
<a href="http://maps.google.com/maps?q=45.522918,141.936592">GoogleMapで見る</a>
aタグからGoogleMap起動
サンプル
<a href="http://maps.google.com/maps?q=45.522918,141.936592">GoogleMapで見る</a>
objective-cで書かれたクラスを扱う
1.「Common-Bridging-Header.h」というヘッダーファイルを作成する
*ファイル名は任意
2.Common-Bridging-Header.hに下記を記述する
#import "EGODatabase.h"
3.PROJECT -> Build Settings -> Swift Compiler – Code Generation
-> Objective-C Bridging Headerに作成したファイル名を設定する
4.普通に扱う
let ego:EGODatabase = EGODatabase(path: "\(NSHomeDirectory())/Documents/ultrawoman.db") private init(){ self._initSystemTable() } private func createTableWithTableName(tableName:String, columnInfo:String) -> Bool{ let query:String = "CREATE TABLE IF NOT EXISTS '\(tableName)' (\(columnInfo));" let result:EGODatabaseResult = self.ego.executeQuery(query) if 0 < result.errorCode { return false } return true } private func _initSystemTable(){ let table:String = "id INTEGER PRIMARY KEY AUTOINCREMENT,key TEXT DEFAULT '',value TEXT DEFAULT '',modified TEXT,created TEXT" let result:Bool = self.createTableWithTableName(self.tableNameOfSystem, columnInfo: table) }
ファイル名取得
extension UIViewController { var fileName:String{ get{ return __FILE__.componentsSeparatedByString("/").last! } } }
AutoLayout後のframeを取得
override func viewDidLoad() { super.viewDidLoad() let width:CGFloat = self.someView.frame.size.width//AutoLayout前の値が取得できる } override func viewDidAppear(animated: Bool) { super.viewDidAppear(animated) let width:CGFloat = self.someView.frame.size.width//AutoLayout後の値が取得できる }
クラス名取得
設定
extension UIViewController { var className:String{ get{ return NSStringFromClass(self.dynamicType).componentsSeparatedByString(".").last! } } }
実行
println("\(self.className) - \(__FUNCTION__) \(__LINE__) @ \(__FILE__)")
IBOutlet,IBAction
@IBOutlet var button:UIButton? @IBAction func onTapButton(sender:AnyObject){ println("onTapButton") var button:UIButton = sender as UIButton }
クロージャ objective-cにおけるブロック
宣言
typealias ChangeMonthClosureType = (year:Int,month:Int) -> () //型に別名を付ける var closureOnChangeMonth:ChangeMonthClosureType?
設定
self.msvc.closureOnChangeMonth = { (year:Int,month:Int) -> () in println("closureOnChangeMonth year:\(year) month:\(month)") }
実行
self.closureOnChangeMonth?(year: self._year, month: self._month)
参照渡し
class func addMonthWithYearMonth(inout ym:(year:Int,month:Int),addMonth:Int){ var y:Int = ym.year var m:Int = ym.month + addMonth while 12 < m { m -= 12 y++ } while m < 1 { m += 12 y-- } ym.year=y ym.month=m }
iPhoneアプリ「Rc Calendar」をリリースしました。
ちょっとだけ便利なカレンダーです。
This is a little bit handy calendar.
言語が日本語かどうか判定
func isCurrentLangJa() -> Bool{ let lang:[AnyObject] = NSLocale.preferredLanguages() return lang[0] as String == "ja" }