2011-11-21 2 views
2

이 코드를 작성했습니다. 나는 facebook SDK와 함께 제공된 샘플 애플리케이션 코드를 따랐다. FeceAppDelegate.m에서 인스턴스 메서드 할당을 찾을 수 없습니다.

#import "FaceAppDelegate.h" 

#import "FaceViewController.h" 

@implementation FaceAppDelegate 

@synthesize window = _window; 
@synthesize viewController = _viewController; 
@synthesize navigationController=_navigationController; 

@synthesize facebook; 


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    FaceViewController *FaceViewController = [[FaceViewController alloc] init]; 
    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:FaceViewController]; 
     // Initialize Facebook 
    facebook = [[Facebook alloc] initWithAppId:@"345678" andDelegate:FaceViewController]; 


    self.window.rootViewController = self.viewController; 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 

내가 실행하면, 내가 EXC_BAD_ACCESS를 가지고 있고, 내가 나는 문제가 생각 "... 인스턴스 방법 ALLOC를 찾을 수 없습니다"경고가

FaceViewController *FaceViewController = [[FaceViewController alloc] init]; 
+2

변수 이름의 시작 부분에 소문자 f가 있어야합니다 (예 : FaceViewController * faceViewController = [[FaceViewController alloc] init]; 그것 이외에, FaceViewController에 대한 헤더 선언을 게시 할 수 있습니까? – MCannon

+0

중단 점을 넣고 어떤 줄이이 문제를 일으키는 지 확인할 수 있습니다. –

+1

오, 저는 어리 석습니다. MCannon, 소문자로 작동합니다. – Keviin55

답변

6

에서 첫 번째 의견은 옳은 대답입니다. 당신이 할 경우 :

FaceViewController *FaceViewController = [[FaceViewController alloc] init]; 

당신은 너무 allocalloc 방법이없는 인스턴스에 전송되는 현재의 범위 내에서 인스턴스 변수로 FaceViewController을 재정의했습니다. 인스턴스 var 이름을 변경하면 제대로 작동합니다. 관례는 변수 이름에 대해 소문자로 시작하는 것입니다. faceViewController.

+0

+1 잘 설명했습니다. – Till

관련 문제