2013-01-11 2 views
0

la chose la plus étrange est arrivée. Bien que je ne pense pas que je l'ai touché quoi que ce soit dans cette classe, tout à coup, il a commencé à me dire qu'il ne pouvait pas trouver un tableau dans une classe ...propriété introuvable sur l'objet Type (custom) xcode

Voici les erreurs:

fondamentalement, il ne peut pas accéder au mutable tableau dans BaseObject (mesure de type Car.h) (question sémantique: propriété objectReadyForCoreDatabase ne se trouve pas dans l'objet de type CarPacket (faux, car elle est déclarée))

if([baseObject.objectsReadyForCoreDataBaseInput count]<kLenght) 
      { 
} 

paquet de voiture .h

#import <Foundation/Foundation.h> 
    #import "ResponsePacket.h" 

    @interface CarPacket : ResponsePacket 

    @property (nonatomic, copy) NSString *objectID; 
    @property (nonatomic, retain) NSMutableArray *objectsReadyForCoreDataBaseInput; 
    @property (nonatomic, assign) NSInteger timeStamp; 



@end 

Il est bizarre parce que sur la même page où je reçois l'erreur si je tape object.objectID il reconnaît que, mais pas object.objectReadyForCoreDataBaseInput (aussi juste soudainement cessé de travailler)

S'il vous plaît laissez-moi savoir si vous avez idées ... Merci

J'ai essayé la restauration de clichés précédents et il n'a eu aucun effet ... il a montré encore l'erreur (même si je sais à cette date, il n'a pas)

+0

Lorsque vous dites «il ne reconnaît pas» et que plus tard il dit «il a soudainement cessé de fonctionner», vous devez être plus précis. Avertissements du compilateur? Si oui, lequel? Exceptions générées lors de l'exécution de l'application? Si oui, quel était précisément le message sur la console? Mis à part cela, je devrais deviner que l'objet pointé par 'baseObject' n'est pas un' CarPacket'. Je serais enclin à mettre un point d'arrêt sur cette ligne de code, puis examiner 'baseObject' dans le débogueur. – Rob

+0

il ne permet pas la compilation –

+0

problème sémantique: propriété objectReadyForCoreDatabase ne se trouve pas dans l'objet de type CarPacket (faux, car elle est déclarée) –

Répondre

2

vous avez pas partagé beaucoup sur le contexte de l'endroit où vous faites l'appel (et voir l'erreur). Cela dit, je suppose que l'une des deux choses est la suivante: La classe appelante n'est pas familière avec la classe réceptrice (CarPacket), ou, la classe appelante ne sait pas que baseObject est un CarPacket.

D'où appelez-vous? Assurez-vous que la classe appelante importe les en-têtes. Comme je ne sais pas où vous appelez, disons qu'il est à l'intérieur UnknownClass:

UnknownClass.m 

#import UnknownClass.h 
#import CarPacket.h // This should make your class familiar 

@implementation UnknownClass 

L'autre chose est que vous devez vous assurer que, au moment vous touchez le baseObject, votre UnknownClass instance sait qu'il s'agit d'une instance CarPacket, par exemple:

- (void)someMethodOfUnknownClass 
{ 

CarPacket *baseObject = (CarPacket *)baseObject; // Cast baseObject if it hasn't been declared as a CarPack in scope... 

if([baseObject.objectsReadyForCoreDataBaseInput count]<kLenght) 
    { 
    } 

} 
+0

Ok juste essayé à nouveau et il lit l'ancienne version de ce fichier (qui n'existe plus), comment puis-je le faire lire le nouveau fichier de paquets de voiture? –

+0

Il s'avère que j'avais l'ancien fichier encore dans le paquet de sorte qu'il lisait cette version ..., merci pour les suggestions –

Questions connexes