2009-07-28 31 views
5

Tôi đang cố gắng ghi vào thư mục bộ nhớ cache của ứng dụng iPhone với hình ảnh được tải xuống từ máy chủ. Kế hoạch của tôi là lưu các hình ảnh trong "site.com/path/to/image.jpg", vì việc phản chiếu cấu trúc thư mục máy chủ giống như vậy làm cho các tên trùng lặp không thể thực hiện được, và dường như nó là một cách đúng đắn để thực hiện nó. Thật không may, có vẻ như tôi phải tự tạo các thư mục trước khi ghi tệp. Có một phương pháp trong Objective-C để gọi đó, nếu được cho "/ Users/Me/a/b/c" (không, đó không phải là một đường dẫn iPhone hợp lệ, chỉ là một ví dụ) sẽ nhận ra/Users/Me tồn tại, và sau đó tạo ra một, sau đó dưới một tạo b, và như vậy cho đến khi nó được kết thúc?Có phương pháp nào trong Mục tiêu-C để đệ quy tạo các thư mục từ một chuỗi không?

Tôi có thể tự viết, nhưng tôi thích sử dụng các chức năng tích hợp càng nhiều càng tốt. Tôi không thể tìm thấy bất cứ điều gì về điều này ở đây.

Trả lời

12

Hãy thử điều này:

NSString * path = @"/Users/Me/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z"; 
NSError * error = nil; 
BOOL success = [[NSFileManager defaultManager] createDirectoryAtPath:path 
             withIntermediateDirectories:YES 
                  attributes:nil 
                   error:&error]; 
if (!success || error) { 
    NSLog(@"Error! %@", error); 
} else { 
    NSLog(@"Success!"); 
} 
+0

Bạn thường làm sự thành công || lỗi!? Có cần thiết không? – zekel

+0

@zekel gần đây tôi đã chú ý rằng '! Success' là kiểm tra thích hợp để thực hiện. –

+0

Đó là những gì tôi nghĩ, khi phương pháp thành công 'lỗi' không được đảm bảo là không. – zekel

Các vấn đề liên quan