iPad 용으로 훌륭하게 작동하는 마스터 디테일 앱이 있습니다. 그러나 iPad 버전의 DetailViewController
으로 전송되는 변수가 iPhone DetailViewController
으로 전송되지 않기 때문에 iPhone 버전이 작동하지 않습니다. 나는 MasterViewController
구현 한 줄의 코드로이 문제를 해결할 수 있습니다사용자가 iPhone과 iPad에있을 때만 코드 블록을 실행할 수 있습니까?
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
self.detailViewController=segue.destinationViewController;
}
불행하게도, 내가 그 코드를 구현할 때, 아이 패드 버전은 작동을 멈 춥니 다. 다른보기 컨트롤러 (HomeViewController
)에서 다시 DetailViewController
으로 이동하면 예외가 발생합니다. 그 오류 로그는 다음과 같습니다
2012-07-14 14:29:12.924 46 Tracker[2772:11603] -[HomeViewController setDetailItem:]: unrecognized selector sent to instance 0x7cad4f0
2012-07-14 14:29:12.925 46 Tracker[2772:11603] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[HomeViewController setDetailItem:]: unrecognized selector sent to instance 0x7cad4f0'
*** First throw call stack:
(0x148a022 0x201acd6 0x148bcbd 0x13f0ed0 0x13f0cb2 0x2cb0 0x2d75c5 0x2d77fa 0xb6c85d 0x145e936 0x145e3d7 0x13c1790 0x13c0d84 0x13c0c9b 0x16a07d8 0x16a088a 0x246626 0x1fdd 0x1f45)
terminate called throwing an exception(lldb)
따라서, 사용자가 아이폰에 경우에만 나는 코드의 첫 번째 블록을 실행할 수있는 방법은 무엇입니까? 또는 두 장치 모두에서 제대로 작동하도록 코드를 수정할 수 있습니까?
여기 내 iPad 스토리 보드에 대한 링크가 있습니다 (희망적으로) 더 명확하게 만들 수 있습니다. HomeViewController
에서 DetailViewController
으로 이동 한 후 표 셀을 클릭하면 문제가 발생합니다. http://www.grapekeeper.com/storyboards.png
매력처럼 작동합니다! 엄청 고마워! – lemontwist