Problema de llamada de método de class para UIImage

Tengo que llamar a un Class method de una class a otra class y en realidad al método de class tengo que pasar el UIImage . así que he creado un NSObject y lo llamo en los botones Viewcontroller

cómo llamar al UIImageView y dónde … por favor verifique el código donde me estoy equivocando …

¿Qué cambios necesito en el método para llamar a la image?

Zaction.h

 @interface ZAction : NSObject @property (retain) NSString *title; @property (assign) id <NSObject> target; @property (assign) SEL action; @property (retain) id <NSObject> object; @property(retain) UIImageView *image; + (ZAction *)actionWithTitle:(NSString *)aTitle target:(id)aTarget action:(SEL)aAction object:(id)aObject image:(UIImageView *)Aimage;; 

ZAction.m

 @implementation ZAction @synthesize title; @synthesize target; @synthesize action; @synthesize object,image; + (ZAction *)actionWithTitle:(NSString *)aTitle target:(id)aTarget action:(SEL)aAction object:(id)aObject image:(UIImageView *)Aimage; { ZAction *actionObject = [[[ZAction alloc] init] autorelease]; actionObject.title = aTitle; actionObject.target = aTarget; actionObject.action = aAction; actionObject.object = aObject; actionObject.image=Aimage; return actionObject; } 

ViewController.m

  #import "Zaction.h" - (IBAction)test4Action:(id)sender { UIImageView *image1=[[UIImageView alloc]initWithFrame:CGRectZero]; ZAction *destroy = [ZAction actionWithTitle:@"Clear" target:self action:@selector(colorAction:) object:[UIColor clearColor] image:image1]; ZAction *sec = [ZAction actionWithTitle:@"Unclear" target:self action:@selector(colorAction:) object:[UIColor clearColor] image:image1]; image1.image=[UIImage imageNamed:@"icon2.png"]; [self.view addSubview:image1]; ZActionSheet *sheet = [[[ZActionSheet alloc] initWithTitle:@"Title" cancelAction:nil destructiveAction:destroy otherActions:[NSArray arrayWithObjects:option1, nil]] autorelease]; sheet.identifier = @"test4"; [sheet showFromBarButtonItem:sender animated:YES]; } 

Su código tiene algunos problemas graves:

  • Su UIImageView image1 se inicializa con un marco CGRectZero, tal vez no se muestra porque el marco es (0,0,0,0)? Tr dándole un tamaño real, por ejemplo, el tamaño de la image.

  • Junto a eso, sus objects ZAction sec y destroy desaparecerán al final del método test4Action, ya que son autoelevados y no se retienen en ninguna parte.

  • También tiene algunos puntos y signos innecesarios en su código, especialmente el que está detrás de la implementación del método de acción con título del que podría deshacerse, puede get algunos errores desagradables con punto y coma mal colocados (como después de una statement if () …).

  • También trabajen en su coding style (denominación de variables en particular: las palabras key de lenguaje c no tienen buenos nombres de attributes ("object" en su class de acción), la image debe ser aImageView)