###前提・実現したいこと
初めまして、アプリ開発初心者です。
swiftで5択クイズアプリを作っています。
CSVファイルを読み込み、String型に変換して値を返すloadCSVの関数を実装したいのですが
let csvData = NSString(contentsOfFile: csvBundle!, encoding: NSUTF8StringEncoding,error: &encodingError) !
の部分で以下のようなエラーメッセージが表示され、うまく動作しません。
CSVファイルを読み込んでいないと思い、新しくファイルを作り、プロジェクトに入れ込んでみたのですが、うまくいきませんでした。
どうしたらCSVファイルをStringに変換できるでしょうか?
回答のほどよろしくお願いします。
###発生している問題・エラーメッセージ
Argument labels '(contentsOfFile: encoding: NSUTF8StringEncoding,error:&encodingError)'do not match any available overloads
###ソースコード
// // ViewController.swift // import UIKit class ViewController: UIViewController { @IBOutlet weak var logoImageView: UIImageView! @IBOutlet weak var titleLabel: UILabel! @IBOutlet weak var bodyTextView: UITextView! @IBOutlet weak var startbutton: UIButton! @IBOutlet weak var creditLabel: UILabel! override func viewDidLoad() { super.viewDidLoad() //loadCSVメソッドで配列csvArrayに読み込んだCSVファイルを格納 var csvArray = [String]() csvArray = loadCSV("start") //ImageViewに画像を設定 let img:UIImage = UIImage(named:csvArray[0])! logoImageView.image = img //titleLabelにアプリ名を設定 titleLabel.text = csvArray[1] //bodyTextViewにアプリ説明文を設定 bodyTextView.text = csvArray[2] //ボタンのタイトル文字を白色に設定 startbutton.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal) //creditLabelにクレジットを設定 creditLabel.text = csvArray[3] } //CSVファイルの読み込みメソッド。引数にファイル名、返り値にString型の配列。 func loadCSV(filename :String)->[String]{ //CSVファイルの読み込み let csvBundle = NSBundle.mainBundle().pathForResource(filename, ofType: "csv") //エラー値の設定 var encodingError: NSError? = nil let csvData = NSString(contentsOfFile: csvBundle!, encoding: NSUTF8StringEncoding,error: &encodingError) ! //改行コードが"\r"で行なわれている場合は"\n"に変更する let lineChange = csvData.stringByReplacingOccurrencesOfString("\r", withString: "\n") //"\n"の改行コードで区切って、配列csvArrayに格納する let csvArray = lineChange.componentsSeparatedByString("\n") return csvArray } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }
###補足情報(言語/FW/ツール等のバージョンなど)
Xcodeのバージョンは7.2.1です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/24 00:11 編集