2011-09-25 19 views
5

Tôi đã cố gắng lấy một số mã mẫu được giao tiếp với giao diện Cocoa (Nó được viết bằng Carbon); Tuy nhiên, khi tôi cố gắng để thay thếĐiều gì - [Độ dài NSURL]: bộ chọn không được nhận dạng được gửi tới ví dụ 0x1001c0360 có nghĩa là

err = ExtAudioFileCreateNew(&inParentDirectory, inFileName, kAudioFileM4AType, inASBD, NULL, &fOutputAudioFile); 

với

err = ExtAudioFileCreateWithURL(CFURLCreateWithString(NULL,(CFStringRef)inFileName,NULL),kAudioFileM4AType,inASBD, NULL,kAudioFileFlags_EraseFile, &fOutputAudioFile); 

tôi bắt đầu nhận được những trường hợp ngoại lệ

2011-09-25 10: 27: 31,701 thử nghiệm [1120: a0f] - [NSURL length]: không được nhận dạng công cụ chọn được gửi tới ví dụ 0x1001c0360 2011-09-25 10: 27: 31.701 tester [1120: a0f] - [NSURL length]: bộ chọn không được nhận dạng được gửi tới trường hợp 0x1001c0360.

Tôi đã xem xét một số câu hỏi và câu trả lời khác và trong tất cả các trường hợp đó, sự cố liên quan đến số NSURL được chuyển khi dự kiến ​​NSString; tuy nhiên, tôi không thể tìm thấy ở đâu/nếu tôi đang làm điều đó. Tôi đã xem xét tài liệu và theo như tôi có thể nói với kiến ​​thức rất hạn chế về các API của Apple. Tôi không làm gì sai.

Mọi trợ giúp sẽ được đánh giá cao.

+0

Ông có thể cho chúng ta thấy khai và phân công của 'inFileName' của bạn? –

+0

Tôi rất vui vì, nhưng nó hơi phức tạp, Nó được khai báo ở đây CFStringRef FilePath = (CFStringRef) [oPanel URL]; – user963697

+0

Phương thức '-URL' trông đáng ngờ như phương thức trả về' NSURL/CFURLRef' thay vì 'NSString/CFStringRef'. Cố gắng sử dụng giá trị trả về của phương thức đó trực tiếp trong 'ExtAudioFileCreateWithURL()' mà không cần tạo một URL khác. –

Trả lời

1

Thông báo lỗi khá rõ ràng. Lớp NSURL không có phương thức thể hiện -length.

Bạn đã cố gắng tạo đối tượng NSURL với cú pháp Objective-C và đưa nó đến CFURLRef?

+7

Tôi gặp sự cố tương tự. '[[UIImage alloc] initWithData: [Dữ liệu NSDataWithContentsOfURL: [NSURL URLWithString: myURLAsString]]];' có thể ném cùng một ngoại lệ nếu URL sử dụng lược đồ tài sản-thư viện. Một cái gì đó trong nội bộ đang cố gắng một lời kêu gọi không được tư vấn độ dài, nó sẽ có vẻ. –

10

Có thể giúp bạn, tôi đã có cùng một vấn đề

Tôi đã cố gắng để làm UIImage từ:

[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:urlStr]]]; 

Sau đó, nó giải quyết với bằng cách làm cho chuỗi với [NSString stringWithFormat:]

NSString *urlStr =[NSString stringWithFormat:@"%@", [_photosURLs objectAtIndex:indexPath.row]]; 
NSURL *url = [NSURL URLWithString:urlStr]; 
NSData *data = [NSData dataWithContentsOfURL:url]; 
UIImage *image = [UIImage imageWithData:data]; 
+0

Điều này giải quyết được vấn đề. Tôi đã phát điên.Cảm ơn bạn – Houman

+0

Điều này đã khắc phục sự cố gặp sự cố của tôi từ chuỗi url hoàn toàn tốt. –

0

tôi đã cùng một vấn đề trong khi nhận url từ chuỗi như [NSString stringWithFormat:@"%@Activity/GetBudget/%@",self.baseURL,activityID]

và tôi giải quyết nó bằng cách gọi absoluteString

như thế này

[[NSString stringWithFormat:@"%@Activity/GetBudget/%@",self.baseURL,activityID] absoluteString]

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