에서 iOS 5 전에, 나는 earlierDate
에서 반환 된 날짜를 확인하기 위해 ==
연산자를 사용할 수문제 5
if ([[aDate earlierDate:bDate] isEqualToDate:aDate])
[someone doSomething];
을
왜 그렇게 될까요?
실제로는 isEqualToDate:
과 비교할 때 ==
을 사용하고 earlierDate:
호출을 사용하면 문제가 발생합니다.
에서 iOS 5 전에, 나는 earlierDate
에서 반환 된 날짜를 확인하기 위해 ==
연산자를 사용할 수문제 5
if ([[aDate earlierDate:bDate] isEqualToDate:aDate])
[someone doSomething];
을
왜 그렇게 될까요?
실제로는 isEqualToDate:
과 비교할 때 ==
을 사용하고 earlierDate:
호출을 사용하면 문제가 발생합니다.
포인터 비교 (==
)를 사용하고 있었으므로 이제 개체의 비교 방법을 사용해야합니다. 즉, 이전 버전의 iOS에서는 earlierDate:
메서드가 이전에 전달한 객체를 반환합니다. 이제는 새로운 객체 (이전 날짜와 동일한 데이터를 가진 객체)를 만들고 반환합니다.
isEqualToDate:
메서드가 더 적절하므로 포인터 비교와 같이 중단 될 가능성이 적기 때문에 선호됩니다.
어떤 종류의 에러가 발생하고 있습니까? 방금 iOS 5 타겟을위한 iOS 5 앱 건물에이 코드를 넣었습니다. 컴파일러 나 런타임 오류가 없습니다. –
오류가 없습니다; '=='비교는 iOS 5 이전에 예상 된 동작을 제공하고있었습니다. 이제 동일한 동작을 보려면 isEqualToDate :를 사용해야합니다. – raheel