2011-09-25 9 views
5

Próbowałem uzyskać przykładowy kod połączony z interfejsem Cocoa (został napisany przy użyciu węgla); Jednak, kiedy próbowano zastąpićCo oznacza - [długość NSURL]: nierozpoznany selektor wysłany do instancji 0x1001c0360 oznacza

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

z

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

I zaczęły się te wyjątki

2011-09-25 10: 27: 31,701 tester [1120: a0f] - [długość NSURL]: nierozpoznany selektor wysłany do instancji 0x1001c0360 2011-09-25 10: 27: 31.701 tester [1120: a0f] - [długość NSURL]: nierozpoznany selektor wysłany do instancji 0x1001c0360.

Szukałem w kilku innych pytań i odpowiedzi, a we wszystkich tych przypadkach problem wiązał się z NSURL były przekazywane, gdy oczekiwano NSString; jednak nie mogę znaleźć, gdzie/jeśli to robię. Przyjrzałem się dokumentacji i, o ile wiem, z bardzo ograniczoną znajomością API Apple'a. Nie robię niczego złego.

Każda pomoc zostanie bardzo doceniona.

+0

można pokazać nam swoje zgłoszenie i przyporządkowanie 'inFileName'? –

+0

Byłbym zadowolony, ale to trochę skomplikowane, To jest zadeklarowane tutaj CFStringRef FilePath = (CFStringRef) [oPanel URL]; – user963697

+0

Metoda '-URL' wygląda podejrzanie jak metoda, która zwróci' NSURL/CFURLRef' zamiast 'NSString/CFStringRef'. Spróbuj użyć zwracanej wartości tej metody bezpośrednio w 'ExtAudioFileCreateWithURL()' bez tworzenia innego adresu URL. –

Odpowiedz

1

Komunikat o błędzie jest całkiem jasny. Klasa NSURL nie ma metody instancji -length.

Czy próbowałeś utworzyć obiekt NSURL ze składnią Objective-C i przesłać go do CFURLRef?

+7

Miałem podobny problem. '[[UIImage alloc] initWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString: myURLAsString]]];' może wygenerować ten sam wyjątek, jeśli URL używa schematu bibliotek zasobów. Wydaje się, że coś wewnętrznie próbuje nierozsądnej inwokacji długości. –

10

Można pomóc, miałem ten sam problem

starałem się uczynić UIImage od:

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

wówczas jej rozwiązać stosując poprzez łańcuch z [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

Rozwiązuje to problem. Szaleję.Dziękuję – Houman

+0

Naprawiłem ten problem powodujący zawieszenie z idealnie cienkiego ciągu adresu URL. –

0

miałem ten sam problem podczas pobierania adresu URL z ciągu znaków: [NSString stringWithFormat:@"%@Activity/GetBudget/%@",self.baseURL,activityID]

i postanowiłem go nazywając absoluteString

takiego

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