2016-05-31 11 views
1

私はテキストファイルに書きたいタプル(String, String, String)の配列を持っています。私は、次のようなさまざまな方法を試みた:タプルの配列をテキストファイルに書き込む

let mySwiftArray = ... // Your Swift array 
let cocoaArray : NSArray = mySwiftArray 
cocoaArray.writeToFile(filePath, atomically:true) 

をしかし、これは私にエラーを与える:

Cannot convert value of type '[(String, String, String)]' to specified type 'NSArray'

私は、ファイルへの私の配列を書き込むために何ができますか?

私は自分のプロジェクトをダウンロードしたい人のためにGitHubにアップロードしました。

+1

タプルはタプルでなければならないのですか? 3つの文字列値を持つ構造体を作成した場合はどうなりますか? – NSGangster

+0

@NSGangster私はむしろスウィフトに新しいので、noobの質問を言い訳してください:構造体の場合、各文字列に複数の値を設定できますか?私の現在の配列は次のとおりです: 'listOfTasks:[(String、String、String)] = []'そして、それを複数のタプルで埋めます。 – atirit

+0

配列の配列を作るだけです。 [[String、String、String]]タプルは、リンクしたいタイプが異なる場合に使用します。 – rMickeyD

答えて

1

タプルは技術的に型であっても、常に異なることがあります。異なることから、それを防ぐために、あなたはtypealiasを作成する必要があります。

typealias myStringTuple = (String, String, String) 

var myArray = [myStringTuple]() 

myArray.append(("Hello", "Goodbye", "See you later")) 

print(myArray[0].1) // prints Goodbye 

は基本的に、あなたは今、あなたが再利用できる(文字列、文字列、文字列)の独自のタイプを作成しました。これは、異なるタイプをリンクしたい場合に非常に便利です。

Cannot convert value of type '[(String, String, String)]' to specified type 'NSArray' 
+0

Googleに保存しておけば大丈夫だということは非常に一般的な質問なので、私はファイルに保存することには答えませんでした。 – rMickeyD

関連する問題