당신은 대리자를 사용할 수 있습니다
/이
첫째을위한 프로토콜은 전화
class HashtagPicker : UIViewController
{
var delegate: HashTagPickerDelegate?
}
이제
protocol HashTagPickerDelegate {
func hastagPicked(hashtag:String)
}
지금 HashtagPicker 클래스에서이 프로토콜에 대한 객체를 생성하여 HashtagPicker
클래스 Protocol
를 만들 사용자가 테이블보기에서 해시 태그를 선택할 때이 델리게이트 객체를 사용하는 프로토콜 메소드 (didSelectRow
THOD)
delegate.hashtagPicked(pickedHashtag)
당신이 용기를 사용하는 당신이 prepareForSegue
에서 그것을 할 수 있고, HastagPicker에 대한 위임 객체로 parentView를 부모 뷰에
class ParentView:UIViewController, HashTagPickerDelegate
{
}
을 프로토콜을 등록하고 설정하는 것을 잊지 마세요 방법. 컨테이너 segue에 segue id를 설정하는 것을 잊지 마십시오.
func prepare(for segue: UIStoryboardSegue, sender: AnyObject?)
{
if segue.identifier == "HastagPickerSegue" // use your segue id here
{
let hashtagPicker = segue.destinationViewController as! HashtagPickerView
hashtagPicker.delegate = self
}
}
당신은 vc B와 vc C를 포함하는 vc A를 가지고 있습니다. 당신은 무엇인가하고 그 후에는 vc C가 테이블보기를 업데이트하기를 원합니까? – Tj3n
일반적인 방법은 참조 (프로토콜/위임 패턴) 또는 콜백 클로저를 부모에서 자식 컨트롤러로 전달하는 것입니다. – vadian
@ Tj3n 네, 맞습니다. vc B는 새로운 해시 태그가 설정되었다고 말하면서 vc A에게 vc B에게 updateTable을 호출하도록 지시합니다. –