2012-11-18 5 views
2

내 tableview 컨트롤러 파일 구현에 내 tableviewcell 파일에서 구현 한 방법 중 하나를 사용할 수 없습니다. 나는 행운을 빌어 웹 검색과 xcode 도움을 시도했다. 내 코드는 다음과 같습니다다른 파일에서 클래스의 메서드를 사용할 수 없습니다.

TableViewController.h :

#import TableViewCell.h 

    @interface TableViewController : UITableViewController 


    @property (nonatomic, strong) IBOutlet UIBarButtonItem *A1Buy; 
    @property (nonatomic, getter = isUserInteractionEnabled) BOOL userInteractionEnabled; 

    - (IBAction)A1Buy:(UIBarButtonItem *)sender; 

TableViewController.m :

@implementation A1ViewController 

    @synthesize A1Buy = _A1Buy; 
    @synthesize userInteractionEnabled; 

    - (IBAction)A1Buy:(UIBarButtonItem *)sender { 
    [TableViewCell Enable]; //this is where it gives an error 

    } 

TableViewCell.h :

@interface TableViewCell : UITableViewCell { 
    BOOL Enable; 
    BOOL Disable; 
    } 
    @property (nonatomic, getter = isUserInteractionEnabled) BOOL userInteractionEnabled; 

TableViewCell.m :

@implementation TableViewCell; 

    @synthesize userInteractionEnabled; 

    - (BOOL) Enable { 
    return userInteractionEnabled = YES; 
    } 
    - (BOOL) Disable { 
    return userInteractionEnabled = NO; 
    } 

버튼과 사용자의 상호 작용을 가능하게하려고하지만 Xcode는 "클래스에이 방법이 없습니다"와 같은 오류 만 표시합니다. 모든 파일은 올바르게 importet되므로 이유가 아닙니다. 도움을 주시면 감사하겠습니다. 감사!

답변

1

먼저, Cocoa 표준에 따라 메소드와 변수의 이름을 지정하십시오 - 클래스는 대문자로 된 첫번째 문자를 가지며, 변수와 메소드는 소문자의 첫 문자를가집니다.

그 지내요 그것은 분명 당신이 실제로 예를 방법이다 TableViewCell클래스,에 Enable 메소드를 호출하고 있는지 확인해야한다. 특정 테이블 뷰 셀에 대한 포인터를 가져와 그 메서드를 호출해야합니다.

또한 구현 된 방법이 매우 혼란 스럽습니다. 부울 결과가 할당의 결과를 부울로 반환하는 이유는 무엇입니까? 항상 YES를 리턴합니다. 몇 가지 기본적인 목표 - 학습 자료를 공부해야 할 수도 있습니다.

+2

두 번째 마지막 단락. 제발, 제발, 좋은 책을 가져와. * iOS 프로그래밍 : The Big Nerd Ranch Guide *는 프로그래밍을 배우기에 가장 좋은 책 중 하나입니다. 부탁을 들어 조금만 읽고 돈을 벌어 책을 읽으십시오. 당신이 지금있는 곳에서 시행 착오를하는 것보다 훨씬 짧은 시간에 훨씬 더 나은 개발자가 될 것입니다. – fzwo

0

인스턴스 메소드로 - (BOOL) Enable으로 선언되었습니다. 클래스 이름을 사용하여 인스턴스 메서드를 호출 할 수 없습니다. 솔루션 :

  1. 다음

    TableViewCell *cellObj = [[TableViewCell alloc] init]; 
    [cellObj Enable]; 
    

자세한 내용을 읽어 보시기 바랍니다 객체를 사용하여 메소드를 호출

+ (BOOL) Enable 
  • 이 클래스의 객체를 생성 클래스의 방법과 방법을 선언 클래스 메서드에 대해서 here.

    ios 코딩 규칙 here을 참조하십시오.

  • 관련 문제