2013-08-31 3 views
0

Rubymotion 앱을 개발 중입니다. 나는 포드 KNSemiModalViewController를 사용하고있다. 어떻게이 Objective-C 코드를 루비로 "변환"할 수 있습니까?objective-c를 루비로 번역하기

[self presentSemiViewController:semiVC withOptions:@{ 
    KNSemiModalOptionKeys.pushParentBack : @(YES), 
    KNSemiModalOptionKeys.animationDuration : @(0.3), 
    KNSemiModalOptionKeys.shadowOpacity  : @(0.8), 
    }]; 
+2

당신은 코코아/OS X와 ​​성공을 위해가는 경우 도움이 될 수 있습니다 API를 사용하려면 우선 Objective-C를 알아야합니다 (모든 API와 대부분의 예제가 ObjC로 작성되었으므로). – bbum

+0

예, 거의 끝났습니다. 앱. Ruby에서 위의 코드를 작성하는 방법을 알아야합니다. –

답변

1
self.presentSemiViewController(semiVC, withOptions:{ 
    KNSemiModalOptionKeys.pushParentBack => true, 
    KNSemiModalOptionKeys.animationDuration => 0.3, 
    KNSemiModalOptionKeys.shadowOpacity => 0.8 
}) 
+0

글쎄, 불행히도 작동하지 않는 것 같습니다. 이 오류가 발생합니다 : 잡히지 않은 예외 'TypeError'로 인해 응용 프로그램을 종료합니다. 이유 : '인식 할 수없는 런타임 형식'(TypeError) –

+0

@Jonathan Clark이보고 한 바 없지만이 대답이 받아 들여졌습니다. 아마도 이것은 작동 할 것이다 :'self.presentSemiViewController (semiVC, withOptions : -> {KNSemiModalOptionKeys.pushParentBack = true, KNSemiModalOptionKeys.animationDuration = 0.3, KNSemiModalOptionKeys.shadowOpacity = 0.8})' –

2

당신이 일 자신의 루비 측면을 해결해야하지만,이 코드 줄 :

[self presentSemiViewController:semiVC withOptions:@{ 
    KNSemiModalOptionKeys.pushParentBack : @(YES), 
    KNSemiModalOptionKeys.animationDuration : @(0.3), 
    KNSemiModalOptionKeys.shadowOpacity  : @(0.8), 
    }]; 

이 같은인가 :

NSDictionary *dict = [NSDictionary, dictionaryWithObjectsAndKeys: 
    [NSNumber numberWithBOOL:YES], KNSemiModalOptionKeys.pushParentBack, 
    [NSNumber numberWithFloat:0.3], KNSemiModalOptionKeys.animationDuration, 
    [NSNumber numberWithFloat:08], KNSemiModalOptionKeys.shadowOpacity]; 

[self presentSemiViewController:semiVC withOptions:dict]; 

가정 KNSemiModalOptionKeys.pushParentBack을 그 메서드를 실행하기 위해 도트 표기법을 사용하고 있습니다. 각 메서드는 [KNSemiModalOptionKeys pushParentBack]으로 다시 쓸 수 있습니다. (형성 사전 꽤 능숙하다, IIRC) 루비로 변환하는 ObjC 측에 당신에게 충분한 정보를 제공

희망.

-2

필자는 Sublime 플러그인 objc2rubymotion을 본 적이 없으며 시도하지 않았습니다.

http://objc2rubymotion.herokuapp.com뿐만 아니라 시도하지 마십시오 그것을 기반으로 웹 페이지가 있지만 rubyists 나 같은 아이폰 OS 환경에서 아래로 내려 오는 :