2010-05-15 2 views
0

J'ai déclaré une propriété dans une vue (créée par le constructeur d'interface, si elle importe) et essaie de définir la valeur de contrôleur de la vue - comme ceci:Tentative de définition d'une erreur de propriété résulte d'une vue: Demande de membre ... pas une structure ou ...

self.view.url = someURL; 

qui donne cette erreur:

Request for Member 'url' in something not a structure or union 

J'ai inclus l'en-tête de la vue dans le fichier .m du contrôleur, mais je suis probablement juste faire quelque chose de mal , mais je ne sais pas quoi - des idées?

Le code de la vue:

@interface PDFView : UIView { 
    NSURL *url; 
} 

@property (nonatomic, retain) NSURL *url; 

@end 

@implementation PDFView 

@synthesize url; 

Répondre

2

Je soupçonne que le problème est que « self.view » est de type UIView (car il est hérité de UIViewController), non PDFView, de sorte que le compilateur ne reconnaît pas qu'il ya une propriété "url" dessus.

Que se passe si vous le faites?

PDFView *aView = self.view; 
    aView.url = someURL; 
+0

Ouais, erreur stupide de ma part - je l'ai fait une certaine configuration dans IB et certains de la procédure, mais ne l'ai pas non plus complètement. –

1

l'intérieur de votre sous-classe de UIViewController, le self.view fait référence à la grande vue de la ViewController qui est un UIView. Votre PDFView devrait être une sous-vue dans self.view si vous avez ajouté dans IB.

Vous devez ajouter PDFView au fichier .h de votre contrôleur avec un IBOutlet, connectez-le dans IB, puis reportez-vous à la sortie que vous avez déclarée dans votre contrôleur de vue.

Questions connexes