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が必要

まとめ

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

NSThreadでスレッド処理を行う

タイマー処理と同様に利用できるスレッドの処理です。NSTimerではヒゲがのびたサンプルでしたので眉毛の濃くなるサンプルにしてみます。ただ、どうやらThread処理は 推奨されておらず、dispatch_queueを使用するべきのようです。

presentViewControllerで画面遷移下からビョーン

下からビョーンとUIViewControllerを出す方法を記載します。この処理も多用していたのですがこのHPになかったので追記しました。 Navigationと連動させた横へシャーと移動するスライドの関数(pop)とは違うので注意です。

UIScrollViewでパラパラ画像切り替え

画像のパラパラ切り替えフォトギャラリーを作成できます。大きな画像の一部分だけを切り抜きしてマスク表示するクラスです。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!