Obj-C に移植しようとしている小さな C# ライブラリがあります (実際には、それをガイドとして使用して C# コードを書き直しています)。ライブラリの目的は、iOS カレンダー アプリの定期的な予定を生成することです。C# 構造体を Obj-C オブジェクトに移植する際に問題が発生しています。これは、予定情報を保持する構造体の 1 つに対して私が持っているものです。
@interface Appointment : NSObject {
@public
NSDate *apptStartTime;
NSDate *apptEndTime;
NSString *key;
}
@end
私が書いたメソッドの 1 つは、日付、一連のスケジュール (C# のポートでもありますstruct
)、および予定のリスト (NSMutableSet
上記の Appointment インターフェイスを含む を使用しています) を受け入れます。予定のメソッドを機能させることができれば、残りを把握できると確信しています (と思います)。に予定を追加するコードは次のNSMutableSet
とおりです。
-(void) addAppointmentsForDate:(NSDate *)checkDate andSchedules: (NSMutableSet *)schedules andAppt:(NSMutableSet *)appointments {
Appointment *appt = [[Appointment alloc]init];
for(NSMutableSet *schedule in schedules) {
if(schedule.occursOnDate(checkDate)) {
appt = [self generateAppointment:checkDate andSchedule: [schedules removeObject:schedules]];
[appointments addObject: appt];
}
}
}
-(Appointment *) generateAppointment: (NSDate *) checkDate andSchedule: (Schedule *) schedule {
Appointment *appt = [[Appointment alloc]init];
appt->apptStartTime = schedule->timeOfAppointment;
appt->apptEndTime = nil; // TODO
appt->key = schedule->key;
return appt;
}
if
ステートメント でビルド エラーが発生します。
互換性のないタイプ「Schedule *」のパラメーターに「void」を送信しています
これまでに使用したことNSMutableSets
も、C# から移植しようとしたこともありません。ご覧のとおり、C# 構造体の移植に取り組んでいます。セットに関するすべての Apple ドキュメントと、C# と Obj-C の違いを説明するいくつかのドキュメントを読みました。
誰かが私が間違っていることを説明するか、セット内の要素を参照する例を教えてくれる良いドキュメントを教えてもらえますか?