Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > カスタムクラスを作成する時いつも忘れる

カスタムクラスを作成時いつも忘れる。継承クラス作成時のメモ

カスタムクラスを作成する時いつもUIViewを継承する際のrequired Initの箇所でハマってしまうので覚書です。

参考:swiftでカスタムクラスを作ろう
参考:Storyboard上だけでUIButtonを角丸に!カスタムクラスで設定項目を拡張する!
参考:UIView inheritance and custom initializers throws EXC_BAD_ACCESS in swift

やってみた

NSObjectの場合


class TestNSObjectSubclass : NSObject {
    
    func test(){
        println("test is called");
    }
}

UIViewの場合


class TestUIViewSubclass : UIView {
    
    func test(){
        println("test is called");
    }
}

そのままです

カスタマイズ

コンストラクタに引数を渡したい場合は以下のように調整します

NSObjectの場合


class TestNSObjectSubclass : NSObject {
        
    init(param1:String){
        println("\(param1)");
    }
    
    func test(){
        println("test is called");
    }
}

UIViewの場合


class TestUIViewSubclass : UIView {
    
    init(frame: CGRect, param1:String){
        super.init(frame: frame);
        println("\(param1)");
    }
    
    required init(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    func test(){
        println("test is called");
    }
}

UIVewを継承する際はこのrequred initが必要

まとめ

↓こんな記事もありますよ!

UIActivityIndicatorView

iOSでローディングをする簡単な方法は標準のインディケータを表示する方法です。画面中央でぐるぐる回ります。

UIToolBar

画面の端っこに追加できるツールバーコントロール。アプリにピリッとアクセントを付けます。機能を追加したい時に便利です

Swiftがオープンソース化!!!(WWDC2015)

2:22:00からSwiftの話です!オープンソースを発表したタイミングは2:23:28のあたり。拍手喝采です。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!