I\'m trying to write a String to an NSOutputStream in Swift. Writing Strings that way with Objective C usually works by passing it as NSData
There are two issues here. The first is that you're passing data to outputStream.write() and not data.bytes (like you passed [data bytes] in your Objective-C code). The second issue is that data.bytes returns an UnsafePointer, but NSOutputStream.write() takes an UnsafePointer. Luckily, UnsafePointer has a way to convert between types:
/// Convert from a UnsafePointer of a different type.
///
/// This is a fundamentally unsafe conversion.
init(_ from: UnsafePointer)
Putting those things together makes your code look something like this:
let data: NSData = mystring.dataUsingEncoding(NSUTF8StringEncoding)!
outputStream.write(UnsafePointer(data.bytes), maxLength: data.length)