2011-11-22 1 views
0

J'essaie de mettre en œuvre l'utilisateur de définir Delegate.For que je l'ai fait ce codeUtilisateur Définir délégué Ne fonctionne pas?

**- 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 

Dans ce codage mon intention est quand je clique sur le bouton, Action correspondant s'exécuté (- (IBAction) DelegateFunction: (id) expéditeur) , alors je veux appeler la méthode de délégué AppImageDidLoad, Mais dans mon codage cela ne fonctionne pas, 1) Pourquoi cela ne fonctionne pas, Tout faux que j'ai fait? Merci pour votre replay

Répondre

1

Dans la méthode suivante

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

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

ajouter une ligne supplémentaire et faire comme suit.

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