Ios 在Swift 3中使用非女性化指针书写
下面的代码在以前版本的Swift中运行,现在编译器拒绝了它。 我需要此函数与ObjectiveC中的Swift进行互操作Ios 在Swift 3中使用非女性化指针书写,ios,swift,swift3,Ios,Swift,Swift3,下面的代码在以前版本的Swift中运行,现在编译器拒绝了它。 我需要此函数与ObjectiveC中的Swift进行互操作 @objc public static func myFunc(jdUT: Double, _ lon: Double, _ lat: Double, _ dayLen: Double, _ SbhDeg: Double, _ MgrbDeg: Double,
@objc public static func myFunc(jdUT: Double, _ lon: Double, _ lat: Double,
_ dayLen: Double, _ SbhDeg: Double, _ MgrbDeg: Double,
omsk: UnsafeMutablePointer<Double>)
{
var z = somefuncion()
// this line gives this error : Cannot assign to property: 'omsk' is a 'let' constant
omsk.memory=z;
}
@objc public static func myFunc(jdUT:Double,lon:Double,lat:Double,
_dayLen:Double、\SbhDeg:Double、\MgrbDeg:Double、,
omsk:不可女性化指针)
{
var z=somefunction()
//此行出现以下错误:无法分配给属性:“omsk”是一个“let”常量
omsk.memory=z;
}
@objc public static func myFunc(jdUT:Double,lon:Double,lat:Double,
_dayLen:Double、\SbhDeg:Double、\MgrbDeg:Double、,
inout omsk:不可配置指针)
{
var z=somefunction()
//此行出现以下错误:无法分配给属性:“omsk”是一个“let”常量
omsk.memory=z;
}
在omsk参数之前添加inout应该有效。@objc public static func myFunc(jdUT:Double、lon:Double、lat:Double、,
_dayLen:Double、\SbhDeg:Double、\MgrbDeg:Double、,
inout omsk:不可配置指针)
{
var z=somefunction()
//此行出现以下错误:无法分配给属性:“omsk”是一个“let”常量
omsk.memory=z;
}
在omsk参数之前添加inout应该有效。错误消息具有误导性。内存的
属性
在Swift 3中,不安全(可变)指针
已重命名为指针对象
:
let z = someFunction()
omsk.pointee = z
错误消息具有误导性。内存的属性
在Swift 3中,不安全(可变)指针
已重命名为指针对象
:
let z = someFunction()
omsk.pointee = z