2015-02-07 5 views
0

안녕하세요 저는 IOS Watchkit Development를 처음 사용합니다.테이블 뷰 행의 사용자 탭이 Watchkit의 다른 DetailedInterfaceController로 데이터를 전달해야합니다.

사용자가 테이블 행을 탭하면 데이터를 전달해야합니다. 나는 segue을 사용하고 pushControllerWithName를 사용하여 두 가지 방법을 시도하고 심지어 방법 여기

-(void)table:(WKInterfaceTable *)table didSelectRowAtIndex:(NSInteger)rowIndex 
{ 
    [self contextForSegueWithIdentifier:@"navigare" inTable:self.tbl rowIndex:rowIndex]; 
    //And Tried following 
    [self pushControllerWithName:(NSString *)@"ProfileInterfaceController" context: rowValue]; 

} 

어떤 도움에 presentControllerWithName를 시도?

+0

에서 ("이 문자열은"@)가있는 NSString 리터럴 구문을 사용하는 경우 이 코드는 어떤 결과를 제공합니까? 어떻게 rowValue의 값을 설정하고 있습니까? IB에서 segue를 사용하고 있습니까? – rdelmar

+0

은 contextForSegueWithIdentifier입니다. @ @ "navigare"가 오타입니까? Interface Builder에서 코드와 일치하는 식별자를 확인하십시오. – phillfarrugia

+0

@rdelmar 이것은'UITABLEVIEWDELEGATE' 메소드와 같은 inbuilt 메소드입니다. 그것은 어떤 행이 선택되었는지 알려주고, 나는 이것을 오직 필요한 것은'ProfileInterfaceController'에 데이터를 전달할 수 없다는 것입니다. –

답변

4

ProfileInterfaceController에서 'rowValue'에 액세스하는 데 문제가 있습니까? 아니면 이것을 성취하는 방법을 확신 할 수 없습니까? 상황 : : 방법

WatchKit 당신이 presentControllerWithName를 사용하여 SEGUE와 WKInterfaceController에 데이터를 보낼 수 있습니다.

이름 - 인터페이스 빌더의 대상 WKInterfaceController에 할당 된 이름입니다
컨텍스트 - 데이터를 보내는 데 사용하는 NSDictionary 매개 변수입니다.

대상 WKInterfaceController가 awakeWithContext를 초기화하는 경우 : 메소드가 호출하고 상황에 맞는 사전을 사용할 수 있습니다.

제공 한 코드 스 니펫에서 'rowValue'를 이해하기 어렵습니다. 이 보내기 전에 NSDictionary 개체에 래핑 될합니다.

체크 아웃 Apple's Framework Reference for more information

관련없는,하지만 주목할 가치 - 그것은 씁니다 불필요 (있는 NSString *) 목적 C.

+0

다음 코드를 사용했습니다 : - (void) table : (WKInterfaceTable *) table didSelectRowAtIndex : (NSInteger) rowIndex {NSDictionary dictionaryWithObject : @ "hi"forKey : @ "nm"]; [self presentControllerWithName : @ "ProfileInterfaceController"컨텍스트 : d]; }'아무 반응이 없습니다. 그것은 ProfileInterface 컨트롤러에 수정되지 않습니다 –

+0

나는 식별자로 ProfileInterfaceController를 추가하는 것을 잊었습니다. 감사합니다 :) 감사합니다 :) –

-3
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 

    if(segue.identifier == "updatepurposesegue"){ 
     var vrc = segue.destinationViewController as NewPurposeViewController; 

     vrc.temp = row 

    } 
} 
+3

코드가 불완전 해 보이는군요, 약간의 설명이 코드를 이해하는 데 도움이 될 수 있습니다 – dvhh

+0

작성한 코드가 신속한 것입니다. –