我正在编写一段代码,它获取一个 URL 并解析标签 Assets 之间的数据内容。在这种情况下,它正在寻找 和 之间的代码。当返回的 URL 正文不包含这些标记时,cullXML: 方法会返回一个空数组,如下所示:
return [NSArray arrayWithObjects: nil];
我检查以确保返回的数组具有以下对象:
if ( matchesXML.count ) {
在我的调试代码中,我检查了两次。第一次,它工作正常。第二次,就在几行之后,它崩溃了。我不明白为什么。这些线条在我看来是一样的。
我错过了什么?
下面包含更大的代码块。谢谢!
if (self.newResults) {
NSString *urlResult;
NSArray *matchesXML;
NSArray *match;
NSDictionary *currentResult;
NSMutableDictionary *results = [[NSMutableDictionary alloc] init];
NSArray *returnedObjects;
NSArray *dictionaryKeys;
NSMutableArray *currentResultObjects;
int i = 0;
// determine tournament type, because the fields are different per type
NSString *tournamentType;
tournamentType = [[AFMethods tournamentTypeFromId:self.inputTournamentId] objectAtIndex:0];
urlResult = [NSString stringWithFormat:@"%@", responseHandle];
[responseHandle release];
NSLog(@"urlResult retrieved: %@", urlResult);
matchesXML = [AFMethods cullXML: urlResult forTag: @"matches"];
NSLog(@"matches loaded: %@", matchesXML);
NSLog(@"matchesXML.count %i", matchesXML.count);
if ( matchesXML.count ) {
NSLog(@"not nil");
}
NSLog(@"just before tested");
if ( matchesXML.count ) {
NSLog(@"tested");
最佳答案
我发现了问题!
它并没有在我想的地方崩溃。几行之后。我正在释放一个自动释放的对象。它一定是以前的代码组织的剩余行。
我删除了版本,它再次完美运行。
关于objective-c - Objective C - [NSArray count] 上的 EXC_BAD_ACCESS 但看不到如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9170520/