好坑爹的MAC

本人新手,最新学习Objective-c。

有这么一个例子:

实例用NSFileManager 获取目录中jpeg类型的图片。

本人愚钝,也不知道那里有jpeg图片,就从网上下了几个图片,存放到用户/图片里了,为了方便不是。

一下教科书上的代码

//照着教科书上的例子
//  main.m
//  FileWalker
//
//  Created by djy dda on 12-7-2.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[])
{
    
    @autoreleasepool {
        
        // insert code here...
        NSLog(@"Hello, World!");
        
    }
    
    NSFileManager *manager=[NSFileManager defaultManager];
   ///于是乎看到我电脑里有个图片文件夹啊,就测试这个吧。
    NSString *home=[@"~/图片" stringByExpandingTildeInPath];
    NSLog(@"路径-》%@",home);//默认是finder中设备名称/用户/用户名称/图片
    [str1 writeToFile:home1 atomically:YES encoding:NSStringEncodingConversionAllowLossy error:Nil];
    
    NSDirectoryEnumerator *direum=[manager enumeratorAtPath:home];

    NSMutableArray *files=[NSMutableArray arrayWithCapacity:42];
    NSString *fileName;
    ///结果发现 direum 是空的。很是无语。。
    while (fileName=[direum nextObject]) {
        if([[fileName  pathExtension ]isEqualTo:@"jpeg"]) {
            [files  addObject:fileName];
        }
    }
    NSEnumerator *fileenum;
    fileenum =[files objectEnumerator];
    while (fileName=[fileenum nextObject]) {
        NSLog(@"filename->%@",fileName);
        
    }
    return 0;
}

极度郁闷不知道那里原因,群里高手不屑回答我小菜鸟的问题。继续查。。

继续查,排除原因。

最终 

将路径

NSString *home=[@"~/图片" stringByExpandingTildeInPath]; 
修改成
NSString *home=[@"~" stringByExpandingTildeInPath];

发现 目录~/图片的图片也搜索出来了。。很是郁闷,发现路径英文的Pictures。真坑爹啊

正确用法是

NSString *home=[@"~/Pictures" stringByExpandingTildeInPath];

  

以防教训,特记录坑爹事件,不知道大家有没有被Mac坑过。

posted on 2012-07-02 17:17  djy_fn  阅读(203)  评论(0编辑  收藏  举报

导航