相关疑难解决方法(0)

swift为NSStream创建字节缓冲区持有者

关于套接字Ray Wenderlich教程中,为了从Objective-C中的输入流中读取字节,我们做了

uint8_t buffer[1024];
        int len;

        while ([inputStream hasBytesAvailable]) {
            len = [inputStream read:buffer maxLength:sizeof(buffer)];
            if (len > 0) {

                NSString *output = [[NSString alloc] initWithBytes:buffer length:len encoding:NSASCIIStringEncoding];

                if (nil != output) {
                    NSLog(@"server said: %@", output);
                }
Run Code Online (Sandbox Code Playgroud)

在Swift中,我尝试了以下内容但没有取得多大成功

        if (stream == inputStream) {
//            var buffer = Array<UInt8>(count: 1024, repeatedValue: 0)
            var buffer : UnsafeMutablePointer<UInt8>
            var len : Bool

            while (inputStream?.hasBytesAvailable == true) {
                len = inputStream?.getBuffer(buffer, length: sizeofValue(buffer))

                if (len) {
                    var output = …
Run Code Online (Sandbox Code Playgroud)

swift

5
推荐指数
1
解决办法
9267
查看次数

标签 统计

swift ×1