类型的值没有成员 - 在第一个和目标控制器中定义
Value of type has no member - defined in first and destination controller
我有两个浮点数要在 prepareForSegue 函数中发送到我的目标控制器。我在两个变量中都设置了我的变量,但我遇到了上述错误。
if segue.identifier == "secondmapsegue"
{
let destination = segue.destination as! MapsView
let indexPath = tableView.indexPathForSelectedRow
var lat: Float
var long: Float
if index.row == 0 {
lat = MSULandMarks[(indexPath?.row)!].f1
long = MSULandMarks[(indexPath?.row)!].f2
}
else if index.row == 1 {
lat = MSUFrats[(indexPath?.row)!].f1
long = MSUFrats[(indexPath?.row)!].f2
}
else
{
lat = MSUSoro[(indexPath?.row)!].f1
long = MSUSoro[(indexPath?.row)!].f2
}
destination.latitude = lat
destination.longitude = long
}
override func viewDidLoad() {
super.viewDidLoad()
var latitude: Float
var longitude: Float
更新一:
下面选择的解决方案就是解决方案!我这边的一点困惑是 Xcode 建议在我的目标控制器中为纬度和经度添加一个初始值,就像这样,
var latitude: Float = 0.0
var longitude: Float = 0.0
别担心,只需接受推荐并继续您的项目。假设你的纬度。和长。有值,0.0 值将替换为您的实际值。
我假设以下片段来自目标控制器 MapsView
:
override func viewDidLoad() {
super.viewDidLoad()
var latitude: Float
var longitude: Float
}
您需要在 viewDidLoad
函数之外声明您的变量,如下所示:
var latitude: Float
var longitude: Float
override func viewDidLoad() {
super.viewDidLoad()
}
我有两个浮点数要在 prepareForSegue 函数中发送到我的目标控制器。我在两个变量中都设置了我的变量,但我遇到了上述错误。
if segue.identifier == "secondmapsegue"
{
let destination = segue.destination as! MapsView
let indexPath = tableView.indexPathForSelectedRow
var lat: Float
var long: Float
if index.row == 0 {
lat = MSULandMarks[(indexPath?.row)!].f1
long = MSULandMarks[(indexPath?.row)!].f2
}
else if index.row == 1 {
lat = MSUFrats[(indexPath?.row)!].f1
long = MSUFrats[(indexPath?.row)!].f2
}
else
{
lat = MSUSoro[(indexPath?.row)!].f1
long = MSUSoro[(indexPath?.row)!].f2
}
destination.latitude = lat
destination.longitude = long
}
override func viewDidLoad() {
super.viewDidLoad()
var latitude: Float
var longitude: Float
更新一: 下面选择的解决方案就是解决方案!我这边的一点困惑是 Xcode 建议在我的目标控制器中为纬度和经度添加一个初始值,就像这样,
var latitude: Float = 0.0
var longitude: Float = 0.0
别担心,只需接受推荐并继续您的项目。假设你的纬度。和长。有值,0.0 值将替换为您的实际值。
我假设以下片段来自目标控制器 MapsView
:
override func viewDidLoad() {
super.viewDidLoad()
var latitude: Float
var longitude: Float
}
您需要在 viewDidLoad
函数之外声明您的变量,如下所示:
var latitude: Float
var longitude: Float
override func viewDidLoad() {
super.viewDidLoad()
}