2011-08-11 3 views
1

Xcode에서 앱을 작성하는 방법을 배우는 중입니다. 나는 책을 사용하여 나를 인도하고있다. 불행히도이 책은 Xcode 3에 대한 안내서로 작성되었으며 Xcode 4를 사용하고 있습니다.이 간단한보기 전환 프로젝트가 작동하지 않는 이유는 무엇입니까?

지금까지 문제가 없었지만이 프로젝트는 작동하지 않으며 단순히 이해하지 못합니다. 그것은 꽤 좋은 의미로 보이기 때문입니다.

프로젝트의 목표는보기 컨트롤러를 사용하여 세 가지보기간에 전환하는 것입니다.

누구든지 살펴보고 내가 잘못했는지 확인할 수 있습니까? http://www.2shared.com/file/CKO6ACzg/MultipleViews.html

PS :

다음은 전체 프로젝트 나는 지금 그대로 뷰가 최고 떨어져 서로와 새 단추를 클릭 할 때 뷰가 삭제되지 않는 것을 적재 할 것이라는 점을 알고있다.

답변

0

MultipleViewsViewController.h은 다음과 같아야합니다

#import <UIKit/UIKit.h> 

@class FirstViewController; 
@class SecondViewController; 
@class ThirdViewController; 

@interface MultipleViewsViewController : UIViewController { 


    IBOutlet FirstViewController *firstViewController; 
    IBOutlet SecondViewController *secondViewController; 
    IBOutlet ThirdViewController *thirdViewController; 

} 

//@property (nonatomic, retain) FirstViewController *firstViewController; 
//@property (nonatomic, retain) SecondViewController *secondViewController; 
//@property (nonatomic, retain) ThirdViewController *thirdViewController; 

-(IBAction)loadFirstView:(id)sender; 
-(IBAction)loadSecondView:(id)sender; 
-(IBAction)loadThirdView:(id)sender; 

@end 

MultipleViewsViewController.m가 있어야한다 :

#import "MultipleViewsViewController.h" 

#import "FirstViewController.h" 
#import "SecondViewController.h" 
#import "ThirdViewController.h" 

@implementation MultipleViewsViewController 

//@synthesize firstViewController; 
//@synthesize secondViewController; 
//@synthesize thirdViewController; 

-(IBAction)loadFirstView:(id)sender{ 
    [secondViewController.view removeFromSuperview]; 
    [thirdViewController.view removeFromSuperview]; 

    [self.view insertSubview:firstViewController.view atIndex:0]; 

} 

-(IBAction)loadSecondView:(id)sender{ 
    [firstViewController.view removeFromSuperview]; 
    [thirdViewController.view removeFromSuperview]; 
    [self.view insertSubview:secondViewController.view atIndex:0]; 

} 

-(IBAction)loadThirdView:(id)sender{ 
    [firstViewController.view removeFromSuperview]; 
    [secondViewController.view removeFromSuperview]; 
    [self.view insertSubview:thirdViewController.view atIndex:0]; 

} 

-(void)dealloc{ 

    [firstViewController release]; 
    [secondViewController release]; 
    [thirdViewController release]; 

    [super dealloc]; 

} 

- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Release any cached data, images, etc that aren't in use. 
} 

#pragma mark - View lifecycle 

- (void)viewDidLoad 
{ 
    firstViewController = [[FirstViewController alloc] init]; 
    secondViewController = [[SecondViewController alloc] init]; 
    thirdViewController = [[ThirdViewController alloc] init]; 
    [self loadFirstView:nil]; 

    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 

당신은 또한 문제가 될 수있는 프로젝트에 수행하지 않은 당신의 버튼 (연결) 그리고 끝났어.