エンティティを持つコアデータプロジェクトPersonおよびPersonEventです。 PersonEventとPersonの間に多対1の関係(personEvents)があります。 PersonEventのタイプは、birth、death ... date ... のようになります。PersonエンティティのCoreDataPropertiesファイルでは、personBirthDateというカスタムメソッドを作成しました。これはNSDateを返す必要があります。Core Dataカスタムメソッドを処理する方法Obj CまたはSwiftでオブジェクトまたはnilを返すもの
-(NSDate *)personBirthDate
{
NSDate * birthDate;
// Use the relationship to get the related events
NSArray *personEventsArray = [self.personEvents allObjects];
// loop array to find an event of type birth
// get the NSDate of the event in the PersonEvent
// return the birthDate;
// code here ....
return birthDate;
}
一部のビューでは、Person.personBirthDateがバインディングで使用されます。 Dateが存在せず、表示されないが正しく静かなため、xcodeは "nil from method ..."と返答しますので、コードはクラッシュしません ある場合Personにリンクされた出生のイベントがない場合、このメソッドはnilを返します。
が最善か、これを実装するための良い方法は何ですか?
?多分あなたは ' - (NSDate * __nonnull)personBirthDate;' – Joshua
'@property(nonatomic、strong)NSDate * personBirthDate;私は に変更し '@property(NULL可能で、非アトミック、強い)NSDate * personBirthDate;' いいです。 私は決してそれについて考えることはありません。どうもありがとう! – user6717738