Quelqu'un pourrait-il me dire pourquoi mon tableau est hors de portée? Voici ma classe:Pourquoi mon instance de tableau est hors de portée?
// Paper.h
@interface Paper : NSObject {
NSMutableArray* items;
}
@property (retain) NSMutableArray* items;
// Paper.m
#import "Paper.h"
@implementation Paper {
@synthesize items;
}
// ParserUtil.m
@implementation ParserUtil {
+(Paper*) parsePaper:(NSString*)file {
...
Paper* paper = [[[Paper alloc] init] autorelease];
// does the following line is the best practice?
paper.items = [[[MutableArray alloc] init] autorelease];
Item* item = ...; // create item instance
[paper.items addObject:item];
return paper;
}
// call the parser method
...
Paper* paper = [[ParserUtil parsePaper:@"SomeFile"] retain];
// when run to this line, the paper.items is out of scope
// seems all the items in the array are dispear
NSMutableArray* items = paper.items;
...
Quelqu'un pourrait-il indiquer ce qui cloche? Merci beaucoup!
Votre syntaxe est omniprésente dans cet exemple. '@ implementation' se termine par' @ end', pas avec des accolades. Notez également que plutôt que [[[NSMutableArray alloc] init] autorelease] 'vous pouvez tout aussi bien utiliser' [NSMutableArray array] '. – d11wtq
@end ne sont pas collés ici. Je ne veux pas coller toutes les lignes de code ici. Pourriez-vous préciser quels pourraient être les problèmes? Merci quand même. – icespace
icespace: Non, car vous n'avez pas montré le code où se situe le problème. Très probablement, le problème est un déséquilibre syntaxique entre le code que vous avez montré et le code que vous n'avez pas. –