J'ai géré les objets donnés ci-dessous; avertissement suivant soulevé pour addCratesObject dans la méthode initFruitStand. Pourquoi se plaint-il qu'il ne correspond pas à la signature, bien que cela corresponde? Quel est le problème?signature de la méthode de l'objet géré
En fonction '- [FruitStandViewController initFruitStand:]':
'FruitStand' ne peut pas répondre à -addCratesObject:
« (messages sans signature de la méthode de mise en correspondance sera supposé revenir 'id' et accepter '...' comme arguments.)
MyViewController.m
#import "FruitStand.h"
#import "Crate.h"
- (IBAction) initFruitStand: (id) sender {
FruitStand * stand = (FruitStand *) [NSEntityDescription
insertNewObjectForEntityForName:@"FruitStand"
inManagedObjectContext:self.managedObjectContext];
Crate * crateOne = (Crate *) [NSEntityDescription
insertNewObjectForEntityForName:@"Crate"
inManagedObjectContext:self.managedObjectContext];
[stand addCratesObject:crateOne];
}
FruitStand.h
#import <CoreData/CoreData.h>
@class Crate;
@interface FruitStand : NSManagedObject
{
}
@property (nonatomic, retain) NSString* standName;
@property (nonatomic, retain) NSSet* crates;
@end
@interface FruitStand (CoreDataGeneratedAccessors)
- (void)addCratesObject:(Crate *)value;
- (void)removeCratesObject:(Crate *)value;
- (void)addCrates:(NSSet *)value;
- (void)removeCrates:(NSSet *)value;
@end
FruitStand.m
#import "FruitStand.h"
#import "Crate.h"
@implementation FruitStand
@dynamic standName;
@dynamic crates;
@end
Crates.h
#import <CoreData/CoreData.h>
@interface Crate : NSManagedObject
{
}
@property (nonatomic, retain) NSSet* fruits;
@end
@interface Crate (CoreDataGeneratedAccessors)
- (void)addFruitsObject:(NSManagedObject *)value;
- (void)removeFruitsObject:(NSManagedObject *)value;
- (void)addFruits:(NSSet *)value;
- (void)removeFruits:(NSSet *)value;
@end
Crates.m
#import "Crate.h"
@implementation Crate
@dynamic fruits;
@end
Bien que je ne vois pas la raison pour laquelle vous en auriez besoin, essayez d'importer votre en-tête Crate.h dans votre interface FruitStand.h au lieu d'utiliser la déclaration @class. – Rog
model modeler les crée de cette façon. – lockedscope