2014-10-01 9 views
4

사용자 정의 셀이 TableViewCell 클래스에 연결되어 있고 사용자 정의 셀 안에 버튼이 있습니다. 유청 버튼을 다른 뷰 컨트롤러로 보냅니다 :Swift - Segue 버튼 셀 안에서

performSegueWithIdentifier(identifier: String, sender: AnyObject?) 

기능을 어떻게 인식 할 수 있습니까?

편집 :

Screenshot

답변

0

당신은 당신의 셀에 대한 사용자 정의 클래스가 필요합니다. 이 클래스에서 버튼 클릭에 대한 응답으로 @IBAction을 만듭니다. 그 행동에서 당신의 segue를 수행하십시오.

+0

내가 행한 모든 이미. – Abdou023

+0

그 행동의 코드를 보여주십시오. – zisoft

+0

내 질문이 – Abdou023

0

당신이 인터페이스 빌더를 사용하는 경우 :

가 secondViewController에 firstViewController 연결 - 그리고 SEGUE 식별자를 만듭니다.

은 그럼 당신은 UIViewController에 선언

performSegueWithIdentifier(identifier: String, sender: AnyObject?) 
+0

이 이미 수행 된 segue를 수행 할 수 있습니다. – Abdou023

+0

은 버튼이 아닌 셀을 secondViewController에 연결합니다. – derdida

+0

문제는 연결과 관련이 없으며 기능 자체를 식별하는 것과 같습니다. 컴파일러가이를 받아들이지 않습니다. – Abdou023

17

-performSegueWithIdentifier: 방법을 사용할 수 있습니다. 따라서 서브 클래스 UITableViewCell에서 호출 할 수 없습니다.

-tableView:cellForRowAtIndexpath: 방법으로 셀을 만들 때 해당 단추에 작업을 추가 할 수 있습니다. 그런 다음 해당 작업 방법에서 -performSegueWithIdentifier: 메서드로 호출 할 수 있습니다.

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell 

    cell.button.addTarget(self, action: "someAction", forControlEvents: .TouchUpInside) 

    return cell 
} 

그리고 여기에 액션 방법 : 여기에 우리가 UITableViewController 서브 클래스에있는 가정 예입니다

func someAction() { 
    self.performSegueWithIdentifier("moveToView", sender: self) 
} 
+0

이것은 몇 시간을 소비 한 문제를 해결합니다. 감사. 이것이 최선의 방법입니까? 쉽고 작동하기 때문에 좋은 것입니다. 고려해야 할 고려 사항은 segue를 준비하는 것입니다 moveToView에 데이터를 전달 –

+0

segue를 정의하는 방법을 보여주십시오 ... 나를 위해 작동하지 않기 때문에 ( – Arti

관련 문제