2011-10-23 51 views
12

tôi đã sử dụng mã dưới đây để kiểm tra xem một tập tin tồn tạikiểm tra nếu tập tin tồn tại khách quan-c

bool b=[[NSFileManager defaultManager] fileExistsAtPath:filePath]; 

Các mã làm việc trên IOS.

Nhưng Khi tôi di chuyển nó để mac os x,

Nhưng tôi thấy cho dù các tập tin tồn tại trên đĩa với filepath, b luôn trả về 0, có nghĩa là các tập tin không tồn tại.

Tôi tự hỏi nếu có chênh lệch giữa ios và macosx

Chào mừng bất kỳ bình luận

Trả lời

5

Từ tài liệu, tôi nghĩ rằng bạn đang sử dụng con đường với tilde

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSFileManager_Class/Reference/Reference.html#//apple_ref/occ/instm/NSFileManager/fileExistsAtPath:isDirectory:

đường

Đường dẫn của tệp hoặc thư mục. Nếu đường dẫn bắt đầu bằng dấu ngã (~), trước tiên nó phải được mở rộng bằng stringByExpandingTildeInPath hoặc phương thức này sẽ trả về NO.

tilde làm cho đường dẫn tương đối đến thư mục home của bạn (chẳng hạn như /Users/username/)

bạn có thể tìm hiểu bằng cách gọi NSLog(@"%@",filePath); nếu filepath là loại NSString

+2

filepath là từ NSOpenPanel, – monsabre

+7

@monsabre Bạn shouldn' t chấp nhận câu trả lời không trả lời câu hỏi của bạn và bạn không nên đăng câu hỏi khác chỉ vì bạn không nhận được câu trả lời bạn mong đợi. Bằng cách chấp nhận câu trả lời, về cơ bản bạn nói với cộng đồng rằng vấn đề của bạn đã được giải quyết. Trong trường hợp này, rõ ràng là không. –

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