2011-12-25 13 views
0

は、これは私のコードです:スロー例外[__NSDate長]:認識されていないセレクタ

- (void)connectionDidFinishLoading:(NSURLConnection *)connection { 


NSString *str = [[[NSString alloc] initWithData:buffer encoding:NSUTF8StringEncoding] autorelease]; 
NSLog(@"str: %@",str); 

NSDictionary *dict = [str JSONValue]; 

NSDateFormatter *fmt = [[[NSDateFormatter alloc] init] autorelease]; 
[fmt setDateFormat:@"yyyy-MM-dd"]; 



NSArray *array = [[dict objectForKey:@"event"] retain]; 

NSLog(@"Array: %@",array); 



for (NSDictionary *tempdict in array) 
{ 


    NSDate *d = [fmt dateFromString:[tempdict objectForKey:@"eve_date"]]; 
    NSLog(@"Date %@",d); 
    NSLog(@"Date of event %@",[tempdict objectForKey:@"eve_date"]); 

    NSDate *t =[tempdict objectForKey:@"eve_date"]; 
      NSLog(@"Date of t %@",t); 
    NSLog(@"This is title_event %@",[tempdict objectForKey:@"title"]); 
    NSLog (@"Time of event %@", [tempdict objectForKey:@"eve_time"]); 
    NSLog(@"This is description %@",[tempdict objectForKey:@"description"]); 

[eventPHP addObject:[Events eventsNamed:[tempdict objectForKey:@"title"] description:[tempdict objectForKey:@"description"] date:t]];} 
dataReady = YES; 
[callback loadedDataSource:self];} 



+ (Events*)eventsNamed:(NSString *)atitle description:(NSString *)adescription date:(NSDate *)aDate { 

return [[[Events alloc] initWithName:atitle description:adescription date:aDate] autorelease]; } 

それはすべて私のデータの細かい印刷ですが、

[eventPHP addObject:[Events eventsNamed:[tempdict objectForKey:@"title"] description:[tempdict objectForKey:@"description"] date:t]]; 

この行では例外があります:

**キャッチされていない例外 'NSInvalidArgumentException'のためアプリを終了します、理由: ' - [__ NSDate length]:インスタンスに送信された認識できないセレクタ0x6149cb0'

+0

eventPHPはどのクラスですか?それはNSArrayですか? –

+1

投稿してくださいinitWithName:atitle description:記述日付:イベントのaDateメソッド –

+0

コードサンプルは完全で簡潔でなければなりません。 [最小限のサンプル](http://sscce.org/)を入力してください。現在のサンプルには無関係なコードがあります。 – outis

答えて

1

あなたはNSDateオブジェクトにlengthメッセージを送っているが、NSDateオブジェクトがlengthメッセージを理解していません。あなたは私たちにそのメッセージを送信するコードを表示しませんでした。

objc_exception_throwにブレークポイントを設定すると、Xcodeは例外が発生したときにデバッガでアプリケーションを停止させるため、lengthメッセージが送信された場所を正確に確認できます。

+0

ya私はinitWhithNameのNSLogでそれを使用します。 –

関連する問題