3

nib 파일에 UITableViewCells 사용자 정의를 작성했으며이를 복수 UIViewControllers에 사용하고 싶습니다.여러 UIViewControllers에서 펜촉을 다시 사용하십시오

누구나 저에게 최선의 방법을 말해 줄 수 있습니까? 로딩 펜촉에 대한 필자의 제한된 지식은 Interface Builder에서 단일 소유자 클래스를 지정해야한다고 제안하는 것 같습니다.

감사합니다.

답변

2

그냥 해보십시오. 실제적인 장애물은 없습니다. File 's Owner의 클래스에서, 펜촉으로 바인딩하는 키가 펜촉을 사용하려는 모든 객체에 존재하는 한 괜찮을 것입니다.

+1

파일 소유자에 대해'@ 인터페이스 '를 지정할 수도 있습니다. 좀 더 깔끔하게하고 싶다면. –

+0

멋진 팁 Kristopher입니다. 고마워. – colm

1

initWithNibName:bundle:을 사용하여 프로그래밍 방식으로 UIViewController 클래스를 인스턴스화하고 여러 컨트롤러에 대해 동일한 펜촉을 지정할 수 있습니다. 예를 들어, 기본 게임 로직을 정의하는 GameController 클래스가있는 게임을 지금 만들고 있습니다.

- (id)initWithOptions:(NSDictionary *)gameOptions 
{  
    if (self = [super initWithNibName:@"GameController" bundle:nil]) 
    { 
     // code here 
    } 
    return self; 
} 

내가 몇 가지 다른 게임 유형이 있습니다 : 피어 - 투 - 피어, 지역, & 온라인 GameController 사용자 지정 초기화에로드되는 관련 GameController.xib 파일이 있습니다. 게임 로직은 동일하지만 통신 구현이 약간 다르므로 각각이 GameController의 하위 클래스입니다.

local = [[LocalGameController alloc] initWithOptions:options]; 
online = [[OnlineGameController alloc] initWithOptions:options]; 

당신이 있기 때문에 그 비록 볼이 두 가지 모두 해당 뷰와 같은 GameController.xib와 init'ed됩니다, GameController을 확장 할 수 있습니다 : 응용 프로그램의 사용 방법에 기초하여, 다른 컨트롤러를 인스턴스화합니다. 이 경우 GameController은 단일 파일 소유자가됩니다.