Hi, Rangding. This is a known issue, tracked by SR-1846 <https://bugs.swift.org/browse/SR-1846>\. Essentially the compiler is not smart enough to know that you mean the existing function 'data' rather than the variable you are defining.
Best,
Jordan
···
On Oct 27, 2016, at 19:06, 张让定 via swift-users <swift-users@swift.org> wrote:
Dear Sir/madam,
I have a fuction:
import Foundation
public func data(with string:String?) -> Data? {
if let string = string {
return string.data(using: String.Encoding.utf8)
}
return nil
}
When I use it like:
let data = data(with: "Hello")
There is a compile error: variable used within it's own initial value.
If write like:
let stringData = data(with: "Hello")
Everything is OK.