Pergunta

Eu estou seguindo iPhone cursos dev de Stanford Open-Universidade, e eu tenho sido bloqueado por 2 dias na assignment3 , talvez alguém pode me ajudar aqui?

As tarefas são:

  1. Criar uma subclasse UIView personalizado que irá exibir o seu objeto PolygonShape
  2. Dê seu acesso de classe vista para o objeto PolygonShape para que ele possa recuperar os detalhes do polígono conforme necessário

O problema é:? como faço para dar o meu acesso de classe vista para o objeto polígono definido no meu controlador

Aqui está o meu implementações se ele pode ajudar:

CustomView.h:

#import "PolygonShape.h"

@interface CustomView : UIView {
    IBOutlet PolygonShape *polygon;
}
- (NSArray *)pointsForPolygonInRect:(CGRect)rect numberOfSides:(int)numberOfSides;

@end

Controller.h:

#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "PolygonShape.h"
#import "PolygonView.h"

@interface Controller : NSObject {
    IBOutlet UIButton *decreaseButton;
    IBOutlet UIButton *increaseButton;
    IBOutlet UILabel *numberOfSidesLabel;
    IBOutlet PolygonShape *polygon;
    IBOutlet PolygonView *polygonView;
}
- (IBAction)decrease;
- (IBAction)increase;
- (void)awakeFromNib;
- (void)updateInterface;
@end
Foi útil?

Solução

E depois que você descobrir isso, ele não pode ferir para retocar em algumas noções básicas de Objective-C:

http://www.cocoacast.com/?q=node/103

Outras dicas

Encontrado minha própria resposta, eu perdi um método setPolygon na minha CustomView vincular tanto ... estúpido ...

em CustomView.h :

#import "PolygonShape.h"

@interface CustomView : UIView {
    IBOutlet PolygonShape *polygon;
}

@property (readwrite, assign) PolygonShape *polygon;

- (NSArray *)pointsForPolygonInRect:(CGRect)rect numberOfSides:(int)numberOfSides;

@end

em CustomView.m:

@implementation CustomView

@synthesize polygon;

...

@end

em Controller.m :

- (void)awakeFromNib { 
    // configure your polygon here 
    polygon = [[PolygonShape alloc] initWithNumberOfSides:numberOfSidesLabel.text.integerValue minimumNumberOfSides:3 maximumNumberOfSides:12];
    [polygonView setPolygon:polygon];
    NSLog (@"My polygon:  %@", [polygon description]);
} 

Acabei de terminar assignement 3 última noite. Eu resolvi esta conexão tudo em Interface Builder. Primeiro eu criei uma tomada no "PolygonView" UIView subclasse para o PolygonShape e, em seguida, conectá-lo à instância do modelo Polygon. Pelo que eu li no Grupo Google e em vários outros sites, eu não acho que há um caminho certo para conectar esta UIView com o modelo eo controlador. Mas funcionou Eu acho que não há nada de errado com a Ver saber sobre o modelo.

Então, por que você não está declarando-os como propriedades da classe?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top