2017-08-14 19 views
1

私の配列をエンコード関数で受け付けることができないようです。これは内部でSwiftで文字列の配列をエンコードできません

var billID: [String]=[] 
var billNumber: [String]=[] 
var billTitle: [String]=[] 
var billDescription: [String]=[] 
var lastAction: [String]=[] 
var lastActionDate: [String]=[] 

struct stateLawData { 
    static let state: String="state" 
    static let lastUpdate: String="lastUpdate" 
    static var billIDs: [String]=[] 
    static let billNumbers: [String]=[] 
    static let billDescriptions: [String]=[] 
    static let billTitles: [String]=[] 
    static let lastActions: [String]=[] 
    static let lastActionDate: [String]=[] 
} 

override func encode(with aCoder: NSCoder) { 
    aCoder.encode(stateAbbr, forKey: stateLawData.state) 
    aCoder.encode(lastUpdateTime, forKey: stateLawData.lastUpdate) 
    aCoder.encode(billID, forKey: stateLawData.billIDs) 
    aCoder.encode(billNumber, forKey: stateLawData.billNumbers) 
    aCoder.encode(billTitle, forKey: stateLawData.billTitles) 
    aCoder.encode(billDescription, forKey: stateLawData.billDescriptions) 
    aCoder.encode(lastAction, forKey: stateLawData.lastActions) 
    aCoder.encode(lastActionDate, forKey: stateLawData.lastActionDate) 
} 

:私は取得していますエラーが

は「タイプの引数リスト '([文字列]、[文字列]、 forKey)' で 'エンコード' を起動することはできませんですUITableViewController

答えて

1

すべてのキーは、文字列にする必要があります。つまり、あなたの静的stateLawData変数のすべてがちょうど最初の2のように、Stringする必要があります。

+0

しかし、彼らはまだ正しい配列としてエンコードしますか? –

+0

すべてのキーを修正した後はどうなりましたか? – rmaddy

+0

エラーが消えました:-) –

関連する問題