如何在swift中将NSObject值转换为String?

时间:2015-06-26 07:04:52

标签: ios xcode swift

我单独的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

}



}

但这总是给我零值。为什么它给了我任何解决方案的零值?

2 个答案:

答案 0 :(得分:1)

您的对象值已经是字符串,因此您可以通过调用

来访问它们
objLoc.name
objLoc.place_Id

您可以轻松地将它们设置为标签:

myLabel.text = objLoc.name

答案 1 :(得分:1)

您可以直接设置值,因为您的对象具有字符串值:

label.text = objLoc.name