2010-07-19 112 views
0

这里去一个新手的问​​题:填充表视图使用JSON

  1. 在Xcode中创建一个新项目:File > New Project和iPhone OS模板中选择基于导航的应用

  2. 按照解释的here安装json-framework

  3. 编辑RootViewController.h的接口部成这样:

    @interface RootViewController : UITableViewController { 
        NSURLRequest *request; 
        NSURLConnection *theConnection; 
        NSMutableData *receivedData; 
        NSArray *faculties; 
    } 
    
  4. RootViewController.m编辑和implement a couple of simple things。将<your_domain_name_goes_here>替换为有效的域名,其中Web服务将响应您的呼叫。

  5. 上面的URL将输出一个JSON字符串like this

  6. 现在,如果你建立&运行此代码,在调试器控制台,你会得到:

    Attaching to process 35594. 
    2010-07-19 13:15:31.307 WSMobileTest[35594:207] Succeeded! Received 580 bytes of data 
    Program received signal: “EXC_BAD_ACCESS”. 
    

任何想法?

开发者信息:

Version:  3.2 (10M2262) 
Location:  /Developer 
Applications: 
    Xcode:    3.2.3 (1688) 
    Interface Builder: 3.2.3 (788) 
    Instruments:  2.7 (2529) 
    Dashcode:   3.0.1 (330) 
SDKs: 
    Mac OS X: 
     10.5: (9L31a) 
     10.6: (10M2262) 
    iPhone OS: 
     3.2: (7B367) 
     4.0: (8A293) 
    iPhone Simulator: 
     3.2: (7W367a) 
     4.0: (8A293) 
+0

尊享: 你在建什么(3.2或4.0)? 你从哪一行得到异常? (调试时检查) - Frank – 2010-07-19 11:26:14

+0

另外,第76行应该是: NSString * jsonString = [[NSString alloc] initWithBytes:[receivedData bytes] length:[receivedData length] encoding:NSUTF8StringEncoding]; – 2010-07-19 11:30:07

+0

@Frank iPhone OS部署目标是“iPhone OS 4.0”,基本SDK是“iPhone设备4.0”... 第二次调用numberOfRowsInSection时[faculties count]返回数组中正确数目的元素,然后当代码进入时cellForRowAtIndexPath调试器根本不会显示任何变量,因此RootViewController.m中的第146行将阻塞并且调试器将永远不会到达第147行的断点,就好像继续按钮不会产生任何效果... – Ali 2010-07-19 12:43:39

回答

1

恭喜你,你已经包括除了导致崩溃样样在行。设置一个断点并逐步通过调试器,直到它崩溃,或查看回溯,或其他。我想你的意思是faculties = [[jsonString JSONValue] retain;

+0

嘿,不幸的是我不能通过调试器使应用程序崩溃,但它不会在RootViewController.m中的第146行上跳过并挂起,就像我回复Frank回复我对原始帖子的评论一样。 至于“保留”,由于我一般对Objective-C编程以及iPhone编程一无所知,因此我并不知道发生了什么。感谢您的提示,我不会放松系统变量,因此代码将毫无问题地工作。 – Ali 2010-07-20 15:54:46