当tableview从URL获取数据时获取EXC_BAD_ACCESS?

时间:2011-02-21 06:33:58

标签: objective-c ios uitableview exc-bad-access

我的tableview是从URL获取XML数据,首先我声明了NSMutableArray *dataArray;

这就是我在TableviewSample.m

中获取数据的方式
- (void)getDataFromURL{
   NSString *theURLAsString = [NSString stringWithFormat:GetAllData];//<-EXE_BAD_ACCESS HERE
   //#define stringWithFormat:GetAllData @"http://192.168.10.28/req_alldata.php"
   NSURL *theURL = [NSURL URLWithString:theURLAsString];
   self.dataArray = [NSMutableArray arrayWithContentsOfURL:theURL];
}

然后我将这个数组中的元素组合到我的tableview ...

但是在这里我还要说一件事,实际上在我添加另一个视图之前它不会崩溃......

我添加一个条形按钮转到webView,此webView用于加载IP Cam流视频

当我回到tableview时,它会出现EXC_BAD_ACCESS

这是奇怪的事情,我无法解决它...因为双方代码都看起来很正常

如果我删除此webview,无论我如何运行该程序,它都不会崩溃......

有时我会离开webView,我会收到memory warning :level 2

但只有一次。

或者我使用错误的方法打开ip cam stream ???

感谢所有回复:)

好的,这是我在webview类中使用的不同代码

这是我使用的第一个版本

- (void)viewDidAppear:(BOOL)animated{
   NSString *directGoToWebCam = [NSString stringWithFormat:GetAllData];
   self.IPCamWebView=[[[UIWebView alloc] initWithFrame:CGRectMake(0,0,640,960)] autorelease];
   [self.IPCamWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:directGoToWebCam]]];
   [self.view addSubview:self.IPCamWebView];    
}

2 个答案:

答案 0 :(得分:1)

GetAllData来自哪里?它看起来并没有指向任何东西。更多代码,确切的错误以及更细致的描述将在这里走得很远。

答案 1 :(得分:0)

它可能与#define的使用有关,它没有说明你正在使用的对象的类型。 如果你想在你的代码中定义一个常量字符串,最好是使用这样的东西:

static NSString *GetAllData = @"192.168.10.28/req_alldata.php";

你需要使用字符串,你可以简单地写:

NSString *GoToWebCam = [NSString stringWithString:GetAllData];