2016-06-19 4 views
1

空の可変プロパティ(または他のタイプのプロパティ)をオプションでない値で作成できますか?オプションの値でない空の可変プロパティ

たとえば、これは作品です:

let distributions = MutableProperty<Distributions?>(nil) 

が、私はこのようなものが必要です。助けを求め

struct Distributions : CollectionType{ 

    typealias Index = Int 

    private let distributions : [Distribution] 

    init(distributions : [Distribution]){ 
     self.distributions = distributions 
    } 

    var startIndex: Int { 
     return 0 
    } 

    var endIndex: Int { 
     return distributions.count 
    } 

    subscript(i: Int) -> Distribution { 
     return distributions[i] 
    } 

} 

struct Distribution{ 
    let id : Int 
    let dateStart : String 
    let dateEnd : String 
} 

のthnx:

let distributions = MutableProperty<Distributions>() 

Distributionオブジェクトを。

+0

「ディストリビューション」とは何ですか? – Code

+0

これは私の価値オブジェクトです – JaSHin

+0

コードを表示しますか? – Code

答えて

1

私はあなたがこれを行うことができる2つの方法を考えることができます。 1つは、シグナル・プロデューサーのignoreNilを使用してください。

let distributions = MutableProperty<Distributions?>(nil) 

distributions.producer 
    .ignoreNil() 
    .startWithNext { distributions in 
     // distributions is of type [Distribution] 
    } 

つは、空DistributionsオブジェクトにMutablePropertyの初期値を設定します。

let distributions = MutableProperty<Distributions>(Distributions(distributions: [])) 

// You can skip the initial value if need be 
distributions.producer.skip(1) 
+1

2017年5月現在では、 'ignoreNil()'は 'skipNil()'になりました。 – BigSauce

関連する問題