Nic*_*ick 1 cocoa-touch objective-c ios
我试图将一个字节数组转换为一个NSString对象.出于测试目的,我只是尝试将字符串的内容打印到日志中.
这是我得到的:
UInt8 buf[BUFSIZE];
CFIndex bytesRead = CFReadStreamRead(stream, buf, BUFSIZE);
if (bytesRead > 0) {
NSString *serverText = [[NSString alloc] initWithBytes:buf
length:(NSUInteger)BUFSIZE
encoding:NSASCIIStringEncoding];
NSLog("%@",serverText);
[serverText release];
Run Code Online (Sandbox Code Playgroud)
我正在尝试初始化一个新的NSString使用initWithBytes并存储它serverText.我可以在调试器中看到值serverText是"无效地址".我是Objective-c的新手,但我认为这意味着initWithBytes工厂方法不成功.
缓冲区包含数据.有人可以帮我吗?
谢谢..
在这里我提出了:
NSData *data = [[NSMutableData alloc] init];
uint8_t buffer[1024];
unsigned int len = 0;
len = [(NSInputStream *)stream read:buffer maxLength:1024];
if(len > 0)
{
[data appendBytes:&buffer length:len];
}
NSString *serverText = [[NSString alloc]
initWithData:data
encoding:NSASCIIStringEncoding];
NSLog(@"%@", serverText);
Run Code Online (Sandbox Code Playgroud)