2011-06-12 2 views
0

뷰 컨트롤러에서 usoxtext 문자열을 nsobject 클래스의 메서드로 전달하려고합니다. 어떻게하면 이렇게 할 수 있는지 설명해주십시오. 잘해라.uviewcontroller에서 클래스에있는 메서드를로드하는 방법

지금까지 다음과 같이했지만 많은 오류가 발생했습니다.

NSObject Class dbAccess.h 
- (void)passCode:(NSString *)passedCode; 

NSObject Class.m 
- (void)passCode:(NSString *passedCode { 
    myString = passedCodeVaraibel; //myString declared in .h 
} 

// 데이터베이스를 초기화하는 다른 코드. 그 효과에 mystring에 또는 뭔가이이 아마 잘못에도 불구하고 왜 질문

viewController.m 
    //pass myCode textfield string when uitableviewcell is selected. 

[dbAccess.passCode myCode.text]; 

요청 메신저 나는 그것하지만 난에 관한 자세한 내용을 추가하겠습니다 :) 작동하지 않는 때문에 잘 아니라는 것을 알고 내가 할려고합니다.

+0

상당히 모호한 질문입니다. 자세한 내용을 제공하기 위해 질문을 편집 할 수 있다면 유용 할 것입니다. NSObject의 클래스 메소드를 의미합니까? 어떤 방법? objective-c 및 iOS 프로그래밍에 얼마나 익숙합니까? – bshirley

+0

자세한 내용으로 업데이트 되었으면합니다. – tinhead

+1

전화는 이어야합니다. [dbAccess passCode : myCode.text]; – AmineG

답변

1

표준 목표 -c 규칙은 setPassCode:으로 메소드 이름을 변경하도록 요청하지만 passCode:은 완벽하게 작동합니다. 분명 당신이 전달하려면, 당신이 값을 설정하려면

[target action:argument]; 
[target action:arg1 anotherParameter:arg2]; 
[target action] 

:

난 당신이 다음과 같은 구문 (몇 가지 예)을 사용하여,이 코드가 제대로 메소드 (method)를 불러, 를 컴파일하지 않는 가정 그 값에서 매개 변수로

// DBAccess.m 
- (void)setPassCode:(NSString *)newPassCode { 
    myString = newPassCode; // myString defined as ivar in .h 
} 


dbAccess = [[DBAccess alloc] init]; 
// … 
[dbAccess setPassCode:textField.text]; 
+0

고마워요, 이것으로 해결할 수 있습니다. 전에는 이것을 읽었지만, 잊어 버렸고 너무 많은 것들이 내 머리 속에서 뒤죽박죽이되어 버렸습니다. 예를 들어 주셔서 감사합니다. 내 프로젝트에서이 모든 것을 설정했지만 현재 내 방법이 내 .h 파일에 선언되어 있음에도 불구하고 내 메소드가 선언되지 않았다는 오류를 보게됩니다. – tinhead

+0

이것은 오류 입니다. 내 방법을 유지하는 것은 신고하지 않았습니다. 그 다음에이 내용이 있습니다. 예상 ';' 전에 ':'토큰 – tinhead

+0

어떤 muppet .. 나는 내가 만든 다른 하나의 내부에서이 방법을 사용하려고 시도했다는 것을 알아 냈다. DUH! 그래서 그것을 밖으로 옮겼고 모든 것이 잘 작동했습니다. 고마워요 :) – tinhead