我正在尝试从我设置的服务器访问数据。 虽然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。
请帮助......!
答案 0 :(得分:2)
这一行:
NSString *latitudeURL = [[NSString alloc] initWithFormat:@"%@PartyCentral/WeeklyParties/Club%@/Location/latitude.txt"];
包含一个没有提供参数的格式化字符串,这将取消引用堆栈中的任何值。如果那些指针不是有效内存,则会发生此类错误。