2015-01-12 2 views
0

나는 이것을 tutorial에 따라 애써 내 앱에 추가하려고합니다. 그러나 몇 가지 문제가 있었으므로 Xcode에서 프로젝트를 처음부터 다시 만들려고했습니다. 같은 문제가 계속 발생합니다. IBOutlets를 선언 TableViewCell 클래스의 SidePanelViewController에서 첫째Swift UITableViewCell IBOutlets가 StoryBoard에 표시되지 않음

class AnimalCell: UITabelViewCell { 
@IBOutlet weak var animalImageView: UIImageView! 
@IBOutlet weak var imageNameLabel: UILabel! 
@IBOutlet weak var imageCreatorLabel: UILabel! 

func configureForAnimal(animal: Animal) { 
animalImageView.image = animal.image 
imageNameLabel.text = animal.title 
imageCreatorLabel.text = animal.creator 
    } 
} 

날에 위치한 내있는 TableView에 연결하기 위해 내가이 IBOutlets이 있어야한다 AnimalCell를 클릭하면 스토리 보드에 표시되지 않습니다 내 왼쪽 및 오른쪽보기 컨트롤러,하지만 아무것도 보여줍니다. StoryBoard에서 연결을 생성하거나 허용 할 수있는 유일한 IBOutlet은 객체가 실제 View Controller 인 경우입니다.

보조 에디터 컨트롤을 사용하여 UI 요소를 드래그하여 관계없이 연결했는데 결국 스토리 보드 출력 콘센트 목록에 여전히 공백으로 표시되어 있지만 서클의 점이 연결되어 있음을 보여줍니다 (그러나 내가 닫은 후 다시 열면 xcode 나는 이것을 다시해야한다.) 이 내용을 최종 프로젝트와 웹 사이트에서 다운로드 한 스타터 프로젝트 모두와 비교하면 올바르지 않습니다. IBActions와 IBOutlets는 IBActions와 IBOutlet이 사전 연결되어있어 스토리 보드에 표시되므로 처음부터이 작업을 시도해도 이해할 수 없는데 내 콘센트 연결의 Xcode에 표시되지 않는 이유는 무엇입니까? 명부? (SidePanelViewController에서 다운로드 한 버전의 코드를 웹 사이트에서 직접 잘라내어 붙여 넣기해도 여전히 작동하지 않습니다.) 실제로 시뮬레이터에 프로젝트를 실행할 때

둘째는 내 응용 프로그램 위임 파일에 내 SidePanelViewController 2 개에서 오류가 발생하고 전체 기능이

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
tableView.dequeueReusableCellWithIdentifier(TableView.CellIdentifiers.AnimalCell, forIndexPath: indexPath) as AnimalCell 
cell.configureForAnimal(animals[indexPath.row]) 
return cell 
} 

입니다

let cell = tableView.dequeueReusableCellWithIdentifier(TableView.CellIdentifiers.AnimalCell, forIndexPath: indexPath) as AnimalCell 

강조 보인다 App Delegate에서 나는 동일한 스레드 1을 얻는다 : Exc_BreakPoint (코드 = Exc_I386_BPT, 서브 코드 = 0x0) 그리고 이것은 라인

class AppDelegate: UIResponder, UIApplicationDelegate { 

또한 내가 생각하는 오류가 오류없이,

SidePanelViewController @objc 
protocol SidePanelViewControllerDelegate { 
func animalSelected(animal: Animal) 
} 

웹 사이트에서 다운로드 한 최종 버전은 시뮬레이터에서 실행에 완벽하게 잘 될 수 있습니다. 하지만 그 모든 코드가 동일하므로 왜 내가 다시 만든 버전이 작동하지 않는지 혼란 스럽습니다. 또한 다운로드 된 스타터 프로젝트를 사용하여 코드를 완료하면 왼쪽 패널이 슬라이드되지만 강아지 버튼이 왼쪽 버튼으로도 작동하므로 오른쪽으로는 슬라이딩하지 않지만 시뮬레이터에서 실행 중 오류는 발생하지 않습니다. 하나는 처음부터 다시 만들었습니다.

6.1.1 소스 킷이 6.1보다 자주 충돌하기 때문에 파생 된 데이터 인 삭제 된 Xcode의 내용을 새로 설치 한 6.1로 되돌려도 삭제했습니다.

나는 무슨 일이 벌어 지는지에 관해서 혼란스럽고, 내가 할 때 튜토리얼에 나와있는 원래 코드가 작동하지 않는 이유는 무엇인가?하지만 다운로드 한 최종 버전이 작동하는 이유는 무엇입니까? 나는 내가 뭘 잘못하고 있는지 알 수 없다. 나는 Xcode와 Swift가 처음이다. 누구든지 도와 줄 수 있습니까?

답변

0

스토리 보드에있는 셀의 클래스로 AnimalCell을 설정하는 것을 잊었을 것입니다.

셀을 선택하고 유틸리티 사이드 바에서 ID 검사기로 이동하여 클래스 필드에 AnimalCell을 채워야합니다.

Command + Option + 3을 누르면 올바른 화면으로 바로 연결됩니다.

관련 문제