2016-04-16 10 views
0

次の行がエラーを引き起こすものである:プロパティ「タイトル」型のオブジェクトに見つからない「ID」

NSLog(@"Title: %@", self.events[0].title); 

私は、以前のファイルの配列イベントを宣言し、私はイベントをプリントアウトしたかったですいくつかのデバッグを行うためのタイトル。しかし、私はエラーが発生します。次の関数に示すように、各イベントにtitleプロパティがあるため、なぜこのエラーが発生するのかわかりません。

@IBAction func addMedicine(sender: AnyObject) { 
    objectC!.events = NSMutableArray() 
    let event: DPCalendarEvent = DPCalendarEvent(title: nameText.text, startTime: startDatePicker.date, endTime: startDatePicker.date, colorIndex: 1) 
    objectC!.events.addObject(event) 
} 

NSLogステートメントを関数に含めると、以前の関数でevents [0] .titleを使用することができました。エラーの原因は何ですか?私は、2つの配列が同じ配列ではないというエラーがあると考えていましたが、両方のファイルから配列にアクセスできるようにする方法がわかりません。 注:コードの最初の行はObjective-Cファイルにあり、2番目のコードブロックはSwiftファイルにあります。

答えて

0

I do not understand why I am getting this error because each event has a title property

はい、しかしself.events[0]ないイベントである - 少なくとも、ない限り、コンパイラは知っています。配列の添え字はidで、idにはプロパティがありません。そして、あなたは、貧しい古いコンパイラにはこれ以上進まないものを与えました。このことはDPCalendarEventであれば、DPCalendarEventにキャスト:

NSLog(@"Title: %@", ((DPCalendarEvent*)self.events[0]).title); 

を別の方法として、eventsはの配列が何であるかを言うことのObjective-Cの新しい軽量ジェネリック表記を使用しています。

関連する問題