2011-11-22 5 views
0

나는 사용자가 내가 작업이 실행 얻을 해당 버튼을 클릭하면 내 의도는 코딩이 코드이에서사용자 정의 대리인이 작동하지 않습니까?

**- DelegateAppDelegate.h** 
#import <UIKit/UIKit.h> 
#import "viewApp.h" 
@interface DelegateAppDelegate : NSObject <UIApplicationDelegate,SampleDeledate> 
{ 

} 

@property (nonatomic, retain) IBOutlet UIWindow *window; 
@end 

**- DelegateAppDelegate.h** 

#import "DelegateAppDelegate.h" 

@implementation DelegateAppDelegate 


@synthesize window=_window; 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

    viewApp *v=[[view alloc]initWithNibName:@"viewApp" bundle:nil]; 
    [_window addSubview:v.view]; 
    return YES; 
} 


- (void)dealloc 
{ 
    [_window release]; 
    [super dealloc]; 
} 
@end 

@implementation DelegateAppDelegate(SampleDeledate) 

-(void)AppImageDidLoad:(NSString*)Name; 
{ 
    NSLog(@"hi........%@",Name); 
} 
@end 
**- viewApp.h** 
#import <UIKit/UIKit.h> 
@class viewApp; 


@protocol SampleDeledate; 

@protocol SampleDeledate <NSObject> 
    @required 
     -(void)AppImageDidLoad:(NSString*)Name; 
@end 

@interface viewApp : UIViewController 
{ 
    id<SampleDeledate>delegate; 
} 

@property(nonatomic,assign)id<SampleDeledate>delegate; 

-(IBAction)DelegateFunction:(id)sender; 
@end 

**- viewApp.m** 

#import "viewApp.h" 

@implementation view 
@synthesize delegate; 
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { } 
    return self; 
} 
- (void)dealloc 
{ 
    [super dealloc]; 
} 

- (void)didReceiveMemoryWarning 
{ 
     [super didReceiveMemoryWarning];  
} 
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
} 

- (void)viewDidUnload 
{ 
    [super viewDidUnload]; 
} 
-(IBAction)DelegateFunction:(id)sender 
{ 


    [self.delegate AppImageDidLoad:@"Delegate sample"]; 

} 
@end 

했다 Delegate.For을 정의 구현하려고 (- (IBAction를) DelegateFunction (ID) 보낸 사람) , 다음 AppImageDidLoad 대리자 메서드를 호출하려면 원하는하지만 내 코딩이 작동하지 않습니다 1) 왜이 작동하지 않는, 내가 잘못 했나요? 다음과 같은 방법

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

    viewApp *v=[[view alloc]initWithNibName:@"viewApp" bundle:nil]; 
    [_window addSubview:v.view]; 
    return YES; 
} 

에서 당신의 재생

답변

1

에 대한 덕분에 하나 더 줄을 추가하고 다음과 같이합니다.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    viewApp *v=[[view alloc]initWithNibName:@"viewApp" bundle:nil]; 
    v.delegate = self; 
    [_window addSubview:v.view]; 
    return YES; 
} 
관련 문제