Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无法转换类型为';Int';到预期的参数类型';(inout UNSAFEMTABLEBUFFERPOINTER<;,inout Int)抛出->;无效';_Ios_Swift4 - Fatal编程技术网

Ios 无法转换类型为';Int';到预期的参数类型';(inout UNSAFEMTABLEBUFFERPOINTER<;,inout Int)抛出->;无效';

Ios 无法转换类型为';Int';到预期的参数类型';(inout UNSAFEMTABLEBUFFERPOINTER<;,inout Int)抛出->;无效';,ios,swift4,Ios,Swift4,此行var machine=[CChar](\u unsafeUninitializedCapacity:size,initializewith:0)抛出错误 错误消息: 无法将“Int”类型的值转换为预期的参数类型“(inout unsafemtablebufferpointer,inout Int)抛出->无效” 这是我的代码: struct MailTemplate { let destination = "test@gmail.com" let subject = "Te

此行
var machine=[CChar](\u unsafeUninitializedCapacity:size,initializewith:0)
抛出错误

错误消息:

无法将“Int”类型的值转换为预期的参数类型“(inout unsafemtablebufferpointer,inout Int)抛出->无效”

这是我的代码:

struct MailTemplate {
    let destination = "test@gmail.com"
    let subject = "Test"
    let body:String

    init(){
        let appVersion: String! = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String
        var platform: String {
            var size: Int = 0
            sysctlbyname("hw.machine", nil, &size, nil, 0)
            var machine = [CChar](_unsafeUninitializedCapacity: size, initializingWith: 0)
            sysctlbyname("hw.machine", &machine, &size, nil, 0)
            return String.fromCString(machine)!
        }
        body = "Email Body"
    }
} 

inout
参数是我们要传递给的函数将要修改的参数。因此,您需要将其作为
&size

inout
参数传递,这些参数将由我们传递给的函数修改。因此,您需要将其作为
&size
传递,我得到了答案

initializingWith: {_,_ in}
就像这样:

var machine = [CChar](_unsafeUninitializedCapacity: size, initializingWith: {_,_ in})
我得到了答案

initializingWith: {_,_ in}
就像这样:

var machine = [CChar](_unsafeUninitializedCapacity: size, initializingWith: {_,_ in})

当我传递大小时,我遇到了以下错误:无法将类型为“Int”的值转换为预期的参数类型“(inout UnsafemtableBufferPointer,inout Int)throws->Void”(aka“(inout UnsafemtableBufferPointer,inout Int)throws->()),您需要传递一个函数。”(x,y)throws->Void'是一个函数签名,您将int传递给它。但是当我传递我得到的大小时,需要按照上面提到的方式发送inout参数。这个错误是:无法将“Int”类型的值转换为预期的参数类型(inout UnsafemtableBufferPointer,inout Int)throws->Void’(aka’(inout UnsafemtableBufferpointer,inout Int)throws->()),您需要传递一个函数。”(x,y)throws->Void'是一个函数签名,您将int传递给它。但是inout参数需要按照我上面提到的方式发送