2011-02-25 72 views
4

我是新的iphone开发,我想加载一个NSMutableArray值到一个表视图,我使用下面的代码为此生成错误,如指定。有人能帮我纠正这个错误吗?在将表格视图加载NSMutablearray值时出现问题?

代码: -

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    // Return the number of rows in the section. 
    return [ShowList count]; 
} 

// Customize the appearance of table view cells. 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
    } 

    // Configure the cell... 
    NSString *cellValue = [ShowList objectAtIndex:indexPath.row]; 
    cell.textLabel.text = cellValue; 
    return cell; 

} 

错误: -

2011-02-25 07:22:24.470 iPhone[1032:207] -[__NSArrayM isEqualToString:]: unrecognized selector sent to instance 0xab15d30 
2011-02-25 07:22:24.471 iPhone[1032:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM isEqualToString:]: unrecognized selector sent to instance 0xab15d30' 
*** Call stack at first throw: 

我的NSMutableArray的打印说明: -

2011-02-25 07:21:54.806[1032:207] (
     (
     "viral_tweeter", 
     default1571546, 
     default1570056, 
     twilightsaga, 
     "wp-monetizer", 
     viraltweetbuild, 
     "building_a_list", 
     yourtwittertips, 
     "twitter_profit", 
     mikesbi, 
     mikesbizz, 
     default1164341, 
     incbizztest, 
     default1164319, 
     iprotv, 
     iwantafreecopy1, 
     tweeterbuilder, 
     trafficlists, 
     myadsensenews, 
     mysafelistnews, 
     myviralnews, 
     safelistology, 
     slmembers, 
     slpmembers, 
     twonderlandlist, 
     noseospider, 
     yseospider, 
     digitallockdown, 
     alistblueprint, 
     classifiedtips, 
     incbizzblog, 
     "xit-trafficbeta", 
     twwidget, 
     jvtrafficfunnel, 
     instantmlmspage, 
     listbuldingmax, 
     "incbizz_tips" 
    ) 
) 

解析HTTP GET响应代码: -

- (void)requestDataFetcher:(GTMHTTPFetcher *)fetcher finishedWithData:(NSData *)data error:(NSError *)error { 

    // this is only for testing whether the data is coming or not 
    // NSDictionary *tempDict = [GTMOAuthAuthentication dictionaryWithResponseData:data]; 

    if (error) 
    { 
     NSLog(@"Error: in getting data after authentication : %@",[error description]); 
    } 

    else 
    { 
     // NSLog(@"Succcess: in getting data after authentication \n data: %@",[tempDict description]); 
     NSString* aStr; 
     aStr = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; 
     NSDictionary *dictionary = [aStr JSONValue]; 
     NSArray *keys = [dictionary allKeys]; 
     Names = [[NSMutableArray alloc]init]; 
     int i = 0; 
     // values in foreach loop 
     for (NSString *key in keys) 
     { 
      i++; 
      NSArray *items = (NSArray *) [dictionary objectForKey:key]; 
      // NSLog(@" test %@", items); 
      if (i==3) 
      { 
       for (NSString *item in items) 
       { 
        NSString* aStrs= item; 
        // NSLog(@" test %@", aStrs); 

        NSDictionary *dict = aStrs; 
        NSArray *k = [dict allKeys]; 
        for (id *it in k) 
        { 
         // NSLog(@"the child item: %@", [NSString stringWithFormat:@"Child Item -> %@ value %@", (NSDictionary *) it,[dict objectForKey:it]]); 
         NSString *value = [it description]; 
         if ([value isEqualToString:@"name"]) 
         { 
          NSString * value = (NSString*)[[dict objectForKey:it] description]; 
          NSLog(value); 
          [Names addObject:value]; 
          [[MySingletonClass sharedMySingleton] SetAweberList: value]; 
         } 
        } 
       } 
      } 
     } 


     mShowList.hidden = FALSE; 
    } 

} 

回答

3

@Ravi你的数组是数组是ShowList的阵列是具有第一对象数组的数组,数组是

"viral_tweeter", 
    default1571546, 
    default1570056, 
    twilightsaga, 
    "wp-monetizer", 
    viraltweetbuild, 
    "building_a_list", 
    yourtwittertips, 
    "twitter_profit", 
    mikesbi, 
    mikesbizz, 
    default1164341, 
    incbizztest, 
    default1164319, 
    iprotv, 
    iwantafreecopy1, 
    tweeterbuilder, 
    trafficlists, 
    myadsensenews, 
    mysafelistnews, 
    myviralnews, 
    safelistology, 
    slmembers, 
    slpmembers, 
    twonderlandlist, 
    noseospider, 
    yseospider, 
    digitallockdown, 
    alistblueprint, 
    classifiedtips, 
    incbizzblog, 
    "xit-trafficbeta", 
    twwidget, 
    jvtrafficfunnel, 
    instantmlmspage, 
    listbuldingmax, 
    "incbizz_tips" 

所以你可以做这样的事情。

NSString *cellValue = [[ShowList objectAtIndex:0] objectAtIndex:indexPath.row]; 
+0

您好罗宾我已经做了一些改变,我如何存储字符串在NSMutableArray现在你的代码运行,但只有单个单元格填充和数组的说明是相同的没有改变,我也尝试更改0与indexPath.row但相同的输出。 – 2011-02-25 11:02:10

+0

@Ravi我以后会回复你,我必须回家。 – Robin 2011-02-25 11:39:37

+0

你可以打印'[ShowList objectAtIndex:0]'的值并在你的问题中显示它。 – Robin 2011-02-26 10:25:57

1

我想UILabelsetText要求isEqualToString出于某种原因,所以它崩溃了您的数组中的第一个对象,它是不是一个NSString

+0

关于如何解决此问题的任何线索。 – 2011-02-25 08:29:28

+0

取决于您实际尝试在表格中显示的内容。数组中的这些对象是什么? – 2011-02-25 08:41:26

+0

请发布http-get的URL和处理响应的代码。 – 2011-02-25 10:03:09