我单独的NSObject类文件调用LocationDetails.swift
class LocationDetails: NSObject {
var name:String!
var place_Id:String!
}
UIView Controller我在其中为对象分配值,我将所有值存储在NSDictionary中调用arrayLocations,我希望使用didSelectRowAtIndexPath方法从中获取特定的详细信息。
import UIKit
import CoreLocation
var objLoc:LocationDetails = LocationDetails.new()
class CategoryMainView: UIViewController,UITableViewDelegate,UITableViewDataSource{
override func viewDidLoad() {
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
getLocationsObject(self.arrayLocations[indexPath.row] as! NSDictionary)
println("location object: \(objLoc)")
println("\(objLoc.name)")
println("\(objLoc.place_Id)") //Here im getting correct output all the time
}
func getLocationsObject(sender: NSDictionary){
objLoc.name = sender.valueForKey("name") as! String
objLoc.place_Id = sender.valueForKey("place_id") as! String
}
}
在我的下一个ViewController中,我想在对象
中显示所有这些细节import UIKit
class RatingView: UIViewController {
@IBOutlet var ShopName :UILabel!
override func viewDidLoad() {
self.ShopName.text = objLoc.name
}
}
但这总是给我零值。为什么它给了我任何解决方案的零值?
答案 0 :(得分:1)
您的对象值已经是字符串,因此您可以通过调用
来访问它们objLoc.name
objLoc.place_Id
您可以轻松地将它们设置为标签:
myLabel.text = objLoc.name
答案 1 :(得分:1)
您可以直接设置值,因为您的对象具有字符串值:
label.text = objLoc.name