سؤال

أحاول حساب الملفات بأكملها في دليل ، بما في ذلك الدلائل الفرعية. هذا ما يجب علي حساب الملفات في المجلد الأول:

-(NSString *)numberOfPhotos
{
    NSString *MyPath = @"/rootdirectory/"; 
    NSArray *directoryContent = [[NSFileManager defaultManager] directoryContentsAtPath:MyPath]; 

    return [NSString stringWithFormat:@"%d", [directoryContent count]];
}

كنت أفكر ربما شيء مثل

for (file in folder){
    [file count]
{

ولكن لا يبدو أن يعمل.

تحديث: في الواقع ، كان سهلاً للغاية:

NSDirectoryEnumerator *subs = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:musicPath error:nil];
هل كانت مفيدة؟

المحلول

NSDirectoryEnumerator *subs = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:musicPath error:nil];

نصائح أخرى

أنت على المسار الصحيح. تحتاج إلى طريقة متكررة. تقوم بتمرير دليل ، وتستحوذ الطريقة على جميع الملفات الموجودة في الدليل ، ثم تتحقق من كل واحدة لمعرفة ما إذا كان دليلًا أم لا. هنا سيكون لديك حلقة للتحقق مما إذا كان الكائن الحالي هو دليل. إذا كان دليلًا ، فسيطلق عليه اسم الدليل. إذا لم يكن كذلك ، فإنه يزيد عدادًا واحدًا ويستمر.

لا يمكن نشر الرمز الآن ، ولكن هذه هي الطريقة التي ستفعل بها.

معرفة ما إذا كان بإمكاني كتابة التعليمات البرمجية باستخدام لوحة مفاتيح iPad ... باستخدام رمز Pseudo لوصف الخوارزمية العودية:

int fileCount(directory)
{
    int count = 0;
    for (file in directory)
    {
        if (isDirectory(file))
            count += fileCount(file);
        else
            count++;
    }
    return count;
}                
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top