0

我正在尝试从我设置的服务器访问数据。虽然 4 个文件运行良好,但我得到一个 Thread2:程序收到信号:“EXC_BAD_ACCESS”。

-(void)loadContentInBackground
{

        NSError *error;

        NSString *posterURL = [[NSString alloc] initWithFormat:@"%@PartyCentral/WeeklyParties/Club%@/poster.jpg",baseURL,clubNum];

        poster.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:posterURL]]];

        posterEnlarged.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:posterURL]]];

        NSString *vp1URL = [[NSString alloc] initWithFormat:@"%@PartyCentral/WeeklyParties/Club%@/VenuePic/pic1.jpg",baseURL,clubNum];
        venuePic1.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:vp1URL]]];

        NSString *vp2URL = [[NSString alloc] initWithFormat:@"%@PartyCentral/WeeklyParties/Club%@/VenuePic/pic2.jpg",baseURL,clubNum];
        venuePic2.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:vp2URL]]];

        NSString *vp3URL = [[NSString alloc] initWithFormat:@"%@PartyCentral/WeeklyParties/Club%@/VenuePic/pic3.jpg",baseURL,clubNum];
        venuePic3.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:vp3URL]]];


        NSString *nameURL = [[NSString alloc] initWithFormat:@"%@PartyCentral/WeeklyParties/Club%@/name.txt",baseURL,clubNum];
        NSString *nameData = [NSString stringWithContentsOfURL:[NSURL URLWithString:nameURL] encoding:NSASCIIStringEncoding error:&error];
        name.text = nameData;

        // Date Being downloaded.
        NSString *dateURL = [[NSString alloc] initWithFormat:@"%@PartyCentral/WeeklyParties/Club%@/date.txt",baseURL,clubNum];
        NSString *dateData = [NSString stringWithContentsOfURL:[NSURL URLWithString:dateURL] encoding:NSASCIIStringEncoding error:&error];
        date.text = dateData;

        // Day Being downloaded. THIS IS WHERE THE ERROR COMES IN HIGHLIGHTING THE
       //initWithFormat line


        NSString *dayURL = [[NSString alloc] initWithFormat:@"%@PartyCentral/WeeklyParties/Club%@/day.txt",baseURL,clubNum];
        NSString *dayData = [NSString stringWithContentsOfURL:[NSURL URLWithString:dayURL] encoding:NSASCIIStringEncoding error:&error];
        day.text = dayData;

        // Latitude & Longitude Being downloaded. 
        NSString *latitudeURL = [[NSString alloc] initWithFormat:@"%@PartyCentral/WeeklyParties/Club%@/Location/latitude.txt"];
        NSString *latitudeData = [NSString stringWithContentsOfURL:[NSURL URLWithString:latitudeURL] encoding:NSASCIIStringEncoding error:&error];

        NSString *longitudeURL = [[NSString alloc] initWithFormat:@"%dPartyCentral/WeeklyParties/Club%@/Location/longitude.txt",baseURL,clubNum];
        NSString *longitudeData = [NSString stringWithContentsOfURL:[NSURL URLWithString:longitudeURL] encoding:NSASCIIStringEncoding error:&error];

        CLLocationCoordinate2D location;
        location.latitude = [latitudeData doubleValue];
        location.longitude = [longitudeData doubleValue];

        MapAnnotation *newAnnotation = [[MapAnnotation alloc] initWithTitle:[name text] andCoordinate:location];
        [self.mapView addAnnotation:newAnnotation];
        [newAnnotation release];

    }

在我得到的 dayURL 旁边的日志中,CFStringRef 无效。

请帮忙...!

4

1 回答 1

2

这一行:

NSString *latitudeURL = [[NSString alloc] initWithFormat:@"%@PartyCentral/WeeklyParties/Club%@/Location/latitude.txt"];

包含一个没有提供参数的格式化字符串,这将具有取消引用堆栈上任何值的效果。如果这些指针不是指向有效内存的,那么就会发生这种类型的错误。

于 2012-05-28T06:46:13.250 回答