나는,메서드에서 선택적 매개 변수 NSInteger를 만들 수 있습니까?
setData:(SomeClassName *)data inPosition:(NSInteger)position
의 라인을 따라하고 구현하는 방법을이 위치로 전무를 확인하고 싶습니다. 아이디어는 포지션이 제공된다면 사용 하겠지만 그렇지 않다면 자동으로 할당 할 것입니다.
문제는 컴파일러 경고없이 NULL 또는 nil을 전달할 수 없다는 것입니다.
나는이 패턴을 다른 곳에서 보았습니다 (선택적 매개 변수). NSIndexPath와 관련되었을 수도 있습니다.
NSNumber를 래퍼로 사용해야합니까? 아니면 다른 비밀이 있습니까?
별도로, setData : 및 setData : inPosition :이라는 별도의 메서드를 사용하는 방법을 고려했습니다. 그러나 문제는 '데이터'가 핵심 데이터 생성 속성이며 일반 ivar가 아니라는 것입니다. 따라서 실제로 가치를 설정하려면 모든 KVO 메시지를 보내야한다는 것을 기억해야합니다. 예를 들어, setData : withPosition 내에서 표준 setData를 호출 할 수 없습니다. - 위치로 수행 한 작업을 덮어 씁니다.
또한이 두 가지의 '더 나은'해결 방법에 대해 알고 싶습니다.
NSNumber 또는 과부하 사용 – mshsayem
Objective-C에는 과부하가 없습니다. –