عد الملفات في الدلائل والمدافع الفرعي؟ ايفون
-
26-09-2019 - |
سؤال
أحاول حساب الملفات بأكملها في دليل ، بما في ذلك الدلائل الفرعية. هذا ما يجب علي حساب الملفات في المجلد الأول:
-(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;
}
لا تنتمي إلى StackOverflow