在 tableViewCell 中显示 NSArray

Display NSArray in the tableViewCell

我将在 tableViewCell 中显示来自 NSArray 的一些数据。 这是我的 NSArray 格式

 (
        {
        score = "480.0";
        uid = 2;
    },
        {
        score = "550.0";
        uid = 1;
    }
)

那么,比方分数怎么显示呢? 这里是m代码,但是不显示

var gamesRound: NSArray = []
let game = gamesRound[indexPath.row]
    //let user = users[Int(game.userId - 1)]
    cell.textLabel?.text = game as? String
    //cell.detailTextLabel?.text = "\(String(Int(game.score))) PTS"
    //print(user.fullname!)
    return cell

这里有字典数组,所以当你写 let dict = gamesRound[indexPath.row] 时,你会得到字典对象,你可以通过使用键来获取值,因为字典有键值对,而数组有索引.

另外,你可以这样声明数组

var gamesRound: Array<Dictionary<String,Any>> = []

因此您可以通过逐步打印值来验证:

print(gamesRound)
let dict = gamesRound[indexPath.row] as! Dictionary<String,Any>
print(dict)
let score = dict["score"]
print(dict["score"])
cell.textLabel?.text = "\(score!)"

在我看来你的每个位置都有一个 NSDictionary NSArray

因此,使用此代码获取您想要的位置:

let game = gamesRound[indexPath.row]

现在 game 是一个 NSDictionary,您只需要使用您想要的密钥提取信息:

let uid = game["uid"]
let score = game["score"]

希望我的例子对你有帮助。

  1. 像这样将 gamesRound 变量更改为 DictionaryArray

  2. viewDidLoad 中输入这样的值(也许):

    var gamesRound = [[String: Any]]()

  3. UITableView

    的单元格上呈现值

    gamesRound = [["score": "480.0", "uid" = 2], ["score": "550.0", "uid": 1]]

有些像这样:

let game = gamesRound[indexPath.row] as! [String: Any]
cell.textLabel?.text = "\(game["score"] as? Int ?? 0)"
cell.detailTextLabel?.text = "\(game["uid"] as? Int ?? 0)"

试试这个代码,

let gameRound : NSDictionary = yourArray[indexPath.row] as! NSDictionary

let strUid = gameRound["uid"]

cell.textLabel.text = strUid as? String