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

まとめ

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

Array

SwiftではArrayとNSArray両方利用することができます。記事を統合しました。

SwiftData+SqliteのDBファイル保存+Libraryフォルダから読込

さて、私の目標は事前に作成したSqliteのDBファイルをSwiftDataで読み込むことですので、その一連の作業を以下説明してまいります。

UISlider

横バーをぐりぐり移動させて値変更させるコントロールです。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!