سؤال

أقوم بتصميم تطبيق يقوم بقراءة البيانات إلى iPod Touch / iPhone التي يتم إرسالها إليها عبر مقابس البث المتعدد مع UDP وأحتاج إلى تخزينها كملف في دليل المستند. هل هذا موجود على iPhone أو iPod Touch؟ أعلم أن هناك nsfilehandle و nsfilemanager، وهو ما أقوم به على استخدامه، لرعاية القراءة والكتابة إلى الملف، لكنني لست متأكدا من حيث أن قسم "المستندات" من iPod Touch هو إذا كنت تعرف ما أنا قوله. أنا لست على دراية دليل ملف iPod / iPhone الذي هو جيد، لذلك موضع تقدير أي مساعدة! هل هناك نوع من دليل "General" الذي يستخدمه جميع المطورين لتخزين ملفاتهم في إذا كان لديهم أي مشاركة في تطبيقهم؟

هل كانت مفيدة؟

المحلول

يجب عليك استخدام دليل مستندات التطبيق الخاص بك لتخزين الملفات المستمرة. يمكنك الحصول على المسار إلى الدليل باستخدام هذه الوظيفة، والتي تتضمن Apple في قالبها للتطبيق باستخدام البيانات الأساسية:

/**
 Returns the path to the application's documents directory.
 */
- (NSString *)applicationDocumentsDirectory {

    NSArray *paths = 
      NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
    return basePath;
}

نصائح أخرى

في الآونة الأخيرة، يوفر القالب لطلب بيانات أساسية كود مثل هذا:

- (NSString *)applicationDocumentsDirectory {
    return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
}

إذا كان NSArray الذي تم إرجاعه من NSSearchPathfordieriesInterIsindomains فارغ، فإن LastoBject إرجاع NIL، لذا كنتيجة لذلك، فإن الرمز أقصر وأكثر نظافة.

شيء واحد يجب أن تكون عليه - اعتبارا من IOS 5، يجب ألا تضع بيانات المستندات غير المستخدمة من المستخدمين. قد يتم رفض تطبيقك. بدلا من ذلك يجب أن تفكر في وضع مثل هذه السجلات في Caches الدليل. للحصول على مسار هذا واحد، تحتاج إلى استبدال NSDocumentDirectory مع NSCachesDirectory في رمز المثال أعلاه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top