[Swift]クラス名取得
クラス名取得
設定
extension UIViewController { var className:String{ get{ return NSStringFromClass(self.dynamicType).componentsSeparatedByString(".").last! } } }
実行
println("\(self.className) - \(__FUNCTION__) \(__LINE__) @ \(__FILE__)")
クラス名取得
設定
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" }
sort
var w:[AnyObject] = self.subviews w.sort { (v1:AnyObject, v2:AnyObject) -> Bool in return v1.tag < v2.tag }
tagが0以上のsubviewを取得するクラス拡張
extension UIView { var subviewsTagIsGreaterThan0:[AnyObject]{ get{ return self.subviews.filter({(w:AnyObject) -> Bool in w.tag > 0}) } } }
tagでソートするクラス拡張
extension UIView{ var subviewsSortByTag:[AnyObject]{ get{ var w:[AnyObject] = self.subviews w.sort { (v1:AnyObject, v2:AnyObject) -> Bool in return v1.tag < v2.tag } return w } } }
名前付タプル配列
var draws:[(x:CGFloat, y:CGFloat, width:CGFloat, height:CGFloat)] = [] self.draws.append( (x:0.0, y:0.0, width:100.0, height:0.0) )