2012-05-09 122 views
1
分配給「NSMutableData」

我得到警告::不兼容的指針類型在下面的代碼分配給從「NSData的」 NSMutableData「在收到警告不兼容的指針類型從NSData的

-(void) connectionDidFinishLoading:(NSURLConnection *) connection 
{ 
    NSLog(@"DONE. Received Bytes: %d", [webData length]); 
    NSString *theXML = [[[NSString alloc] initWithBytes: [webData mutableBytes] length [webData length] encoding:NSUTF8StringEncoding] autorelease]; 

    theXML = [theXML stringByReplacingOccurrencesOfString:@"&lt;" withString:@"<"]; 
    theXML = [theXML stringByReplacingOccurrencesOfString:@"&gt;" withString:@">"]; 
    NSLog(@"%@",theXML); 

    if(xmlParser) 
    { 
     xmlParser = nil; 
     [xmlParser release]; 
    } 

    NSMutableString *str = [[NSMutableString alloc]initWithString:theXML]; 
    webData = [str dataUsingEncoding:NSUTF16StringEncoding];//WARNING 

    xmlParser = [[[NSXMLParser alloc] initWithData:webData] autorelease]; 
    [xmlParser setDelegate:self]; 
    [xmlParser setShouldResolveExternalEntities: YES]; 
    [xmlParser parse]; 

    [connection release]; 
} 
+0

你應該接受來自您前面問題的一些答案。 – 2012-05-09 10:35:29

+0

如何接受? – amrita

+0

查看SO常見問題解答(http://stackoverflow.com/faq#howtoask)。 – 2012-05-09 11:13:49

回答

5

使用

webData = [NSMutableData dataWithData:[str dataUsingEncoding:NSUTF16StringEncoding]]; 
+0

感謝這幫了我:) – amrita

2

您不能分配一個NSData到NSMutableData。 NSMutableData包含使其能夠進行變異的邏輯,如果將它指向NSData對象,則此邏輯將消失。你應該做的卻是追加數據,使用的語法如下:

[webData appendData:[str dataUsingEncoding:NSUTF16StringEncoding]]; 
相關問題