2016-07-29 16 views
-1

私は、歌と歌詞がいっぱいのsqliteデータベースを持っており、それらを取り出して配列に格納しようとしています。私は以下の構造体配列に値を格納する

struct KArray { 
let SongTitle: String 
let SongLyrics: String 
let ESongTitle: String 


func match(string:String) -> Bool { 
    let lowerCaseKeyword = string.lowercaseString 
    return SongTitle.lowercaseString.containsString(lowerCaseKeyword) || ESongTitle.containsString(lowerCaseKeyword) 

    } 
} 


var keerthanaiArray = [KArray]() 

ような配列を宣言していると私は以下の

keerthanaiArray = [KArray(SongTitle : songTitleT!, SongLyrics : songLyricsT!, 
        ESongTitle : EsongTitleT!)] 

ようにsqliteのテーブルから読み取った値を持つ配列を移入しています。しかし、それが配列として格納なっていない、唯一の最後のエントリがあります保存される。助けてください

+1

置き換え 'keerthanaiArray =' 'keerthanaiArray.appendによって[KArray(...)](KArray( ...)) '。 - しかしあなたの名前は誤解を招きます。「KArray」は配列ではありません。 –

答えて

0

@Martinが述べたように、KArrayは配列ではなく構造体です。あなたはKArray構造体の値を持つ配列であることをkeerthanaiArrayをしたい場合は

、これを試してみてください。

var song: KArray // initialize struct here 
var keerthanaiArray = [String]() 
keerthanaiArray = [song.SongTitle, song.SongLyrics, song.ESongTitle] 
+0

私はあなたが 'ここで構造体を初期化する'と言いましたが、静かには理解できませんでした。 – Jebus

+0

構造体のプロパティの値(つまり、SongTitle、SongLyrics、ESongTitle)を有効にするためには、プロパティの値を設定する必要があります。 [this site](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html)の** Initializers **セクションを参照してください。 –

+0

構造体の外から呼び出すことができる構造体内にカスタム初期化子を作成することをお勧めします。 –

関連する問題