###前提・実現したいこと
Documentディレクトリのファイルにアクセスし、中身のデータを取得したいです。
###発生している問題・エラーメッセージ
'flatMap' produces '[SegmentOfResult.Iterator.Element]', not the expected contextual result type '()'
###該当のソースコード
swift3
1let documentPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] 2var fileNames: [String] { 3 do { 4 return try FileManager.default.contentsOfDirectory(atPath: documentPath) 5 } catch { 6 return [] 7 } 8} 9 10return fileNames.flatMap { fileName in 11 do { 12 var datas: [NSData] = try String(contentsOfFile: documentPath + "/" + fileName, encoding: String.Encoding(rawValue: String.Encoding.utf8.rawValue)).lines 13 datas = datas.deleteSpaceOnly(datas: datas) 14 return datas 15 } catch { 16 return nil 17 } 18}
###試したこと
return fileNames.flatMap((String) -> NSData) { fileName in
と変更してもエラーは変わらずでした。
参考になるURL等ありましたらご教示お願いします。
この処理は元質問では返値を持たないIBAction内の処理でしたが、なぜその部分を意図的に削除し隠蔽したのですか? 元質問はこちらです。https://teratail.com/questions/81860 元質問の質問内容も改変されています。