2014-10-15 13 views
12

Mam problem z odczytaniem ciągu tekstowego z pliku .text w Swift.Swift "String.Type" nie ma członka o nazwie "stringWithContentsOfFile"

mogę zarządzać napisać plik używając następujący kod

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

Ale gdy próbuję odczytać pliku przy użyciu „String.stringWithContentsOfFile”, otrzymuję „«String.Type»nie ma elementu o nazwie ' stringWithContentsOfFile "". stringWithContentsOfFile również nie pojawia się w autouzupełnianiu.

Używam Xcode 6.1 GM Seed 2.

Widziałem ludzi przy użyciu „stringWithContentsOfFile”, aby odczytać tekst z pliku w wielu tutoriali i przepełnienie stosu, ale dlaczego to nie działa dla mnie?

Odpowiedz

17

Spróbuj czegoś takiego:

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

Dzięki za pomoc w poprawnej składni. Nie wiem, dlaczego Apple nie zaktualizował swojej dokumentacji tutaj https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/index.html#//apple_ref/occ/clm/NSString/stringWithContentsOfURL: usedEncoding: error: Lub szukam złej dokumentacji? –

0

można to zrobić jak ten

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

Cześć Pavi, ta składnia nie jest poprawna dla Swift w Xcode 6.1. Może to było w Xcode 6. –

+0

@moinuddin dziękuję za odpowiedź bratu, co jest błędem, który otrzymujesz, ponieważ mogę z powodzeniem uruchomić i wydrukować plik myFileContent i tak pracuję nad Xcode 6.0.1 –

+0

stringWithContentsOfFile jest niedostępny: użyj budowa obiektu NSString (contentsOfFile: encoding: error :) –

4

poprawnej składni w Swift STRING contentsOfFile jest:

String(contentsOfFile: "String", encoding: "NSStringEncoding", error: "NSErrorPointer") 
Powiązane problemy