اذهب إلى المحتوى

السؤال

نشر

بحثتُ عن طريقة التعامل مع الملفات النصية باستخدام لغة Swift ووجدت هذا المثال في Swift’s iBook ولكن لم أعرف كيفية قراءة أو كتابة البيانات على الملف؟

class DataImporter
{
    /*
    DataImporter is a class to import data from an external file.
    The class is assumed to take a non-trivial amount of time to initialize.
    */
    var fileName = "data.txt"
    // the DataImporter class would provide data importing functionality here
}

class DataManager
{
    @lazy var importer = DataImporter()
    var data = String[]()
    // the DataManager class would provide data management functionality here
}

let manager = DataManager()
manager.data += "Some data"
manager.data += "Some more data"
// the DataImporter instance for the importer property has not yet been created”

println(manager.importer.fileName)
// the DataImporter instance for the importer property has now been created
// prints "data.txt”



var str = "Hello World in Swift Language."

 

Recommended Posts

  • 0
نشر

توفر Swift العديد من الطرق للتعامل مع الملفات وتختلف هذه الطرق بحسب نوع إصدار Swift الذي تعمل عليه.

يمكن استخدام NSFileManager وهو عبارة عن صف class يحوي على مجموعة من الدوال للقراءة والكتابة على الملفات.

طريقة أخرى أكثر شيوعًا في الاستخدام للكتابة على الملفات في  Swift 1.x باستخدام الدالة WriteToFile. حيث يتم تمرير مسار الملف الذي تريد الكتابة عليه على الشكل التالي:

let file = "file.txt"

if let dirs : [String] = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true) as? [String] {
    let dir = dirs[0] //documents directory
    let path = dir.stringByAppendingPathComponent(file);
    let text = "some text"

    //writing
    text.writeToFile(path, atomically: false, encoding: NSUTF8StringEncoding, error: nil);

للقراءة من ملف يتم استخدام contentsOfFile وتمرير مسار الملف الذي تريد القراءة منه كما في المثال التالي:

//reading
    let text2 = String(contentsOfFile: path, encoding: NSUTF8StringEncoding, error: nil)

في إصدار Swift 2.0  يجب وضع error handling do / catch:

let file = "file.txt" //this is the file. we will write to and read from it

let text = "some text" //just a text

if let dir : NSString = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true).first {
    let path = dir.stringByAppendingPathComponent(file);

    //writing
    do {
        try text.writeToFile(path, atomically: false, encoding: NSUTF8StringEncoding)
    }
    catch {/* error handling here */}

    //reading
    do {
        let text2 = try NSString(contentsOfFile: path, encoding: NSUTF8StringEncoding)
    }
    catch {/* error handling here */}
}

كيف أكتب وأقرأ من ملف نصي باستخدام لغة Swift؟

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...