2014-10-15 17 views
12

Tôi gặp sự cố khi đọc chuỗi văn bản từ tệp .text trong Swift.Swift 'String.Type' không có thành viên có tên 'stringWithContentsOfFile'

tôi có thể quản lý để ghi file sử dụng mã sau

var writeError: NSError? 
let theFileToBeWritten = theStringWillBeSaved.writeToFile(pathToTheFile, atomically: true, encoding: NSUTF8StringEncoding, error: &writeError); 

Nhưng bất cứ khi nào tôi cố gắng đọc các tập tin sử dụng "String.stringWithContentsOfFile", tôi nhận được " 'String.Type' không có một thành viên có tên là ' stringWithContentsOfFile '". stringWithContentsOfFile cũng không xuất hiện trong tự động hoàn thành.

Tôi đang sử dụng Xcode 6.1 GM Seed 2.

Tôi đã thấy những người sử dụng "stringWithContentsOfFile" để đọc văn bản từ tập tin trong nhiều hướng dẫn và stack overflow nhưng tại sao nó không làm việc cho tôi?

Trả lời

17

Hãy thử một cái gì đó như thế này:

var error:NSError? 
let string = String(contentsOfFile: "/usr/temp.txt", encoding:NSUTF8StringEncoding, error: &error) 
if let theError = error { 
    print("\(theError.localizedDescription)") 
} 

Swift 2.2:

if let string = try? String(contentsOfFile: "/usr/temp.txt") { 
    // Do something with string 
} 
+2

Cảm ơn bạn đã trợ giúp với cú pháp chính xác. Tôi không chắc tại sao Apple không cập nhật tài liệu của họ tại đây https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/index.html#//apple_ref/occ/clm/NSString/stringWithContentsOfURL: usedEncoding: error: Hoặc tôi đang xem tài liệu sai? –

0

bạn có thể làm điều đó như

var error : NSError? 
var myFileContent = String() 
myFileContent = NSString.stringWithContentsOfFile("yourFilePath", encoding: NSUTF8StringEncoding, error: &error) 
if let optionalError = error{ 
    println("\(optionalError.localizedDescription)") 
} 
+0

Xin chào Pavi, cú pháp này không đúng cho Swift trong Xcode 6.1. Có thể là trong Xcode 6. –

+0

@moinuddin cảm ơn người trả lời lỗi là gì mà bạn đang nhận được khi tôi thành công có thể chạy và in myFileContent và có tôi đang làm việc trên Xcode 6.0.1 –

+0

stringWithContentsOfFile không sẵn dùng: sử dụng đối tượng xây dựng NSString (contentsOfFile: mã hóa: lỗi :) –

4

cú pháp đúng này trong nhanh chóng cho String contentsOfFile là:

String(contentsOfFile: "String", encoding: "NSStringEncoding", error: "NSErrorPointer") 
Các vấn đề liên quan