gpt4 book ai didi

ios - 在 swift 中读取并保存在数组中设置数组

转载 作者:行者123 更新时间:2023-11-30 14:15:47 25 4
gpt4 key购买 nike

我尝试从我的保存设置“Mybookmarks”中加载此数组,并尝试将其写入表格中。那是在设置中 =>

 [["name" : "apple", "url": "http://www.apple.de"],
["name" : "youtube", "url": "http://www.youtube.de"]]

但它不起作用,它说总是崩溃。我想加载这种数组并将其写入 TableView 中。关于如何解决此问题的任何想法,以便它可以从我的“var defaults = NSUserDefaults.standardUserDefaults()”中读取此内容。

//  ViewController.swift
import UIKit
class ViewController: UIViewController,UITableViewDelegate, UITableViewDataSource {

// create references to the items on the storyboard
// so that we can animate their properties
var tableView: UITableView = UITableView()

var objects = []

override func viewDidLoad() {
super.viewDidLoad()

var defaults = NSUserDefaults.standardUserDefaults()
//read
if let testArray : AnyObject? = defaults.objectForKey("Mybookmarks") {
var objects : [NSString] = testArray! as! [NSString]
println("\(testArray)")
}

tableView.frame = CGRectMake(0, 0, 300, view.frame.height);
tableView.delegate = self
tableView.dataSource = self
tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
self.view.addSubview(tableView)
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.objects.count
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier("cell") as! UITableViewCell
let object = self.objects[indexPath.row]
cell.textLabel?.text = object["name"]!
return cell
}

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
println("You selected cell #\(indexPath.row)!")
}
}

最佳答案

数组的类型是字典数组[[String:String]]而不是字符串数组[String]

var objects = [[String:String]]()

...

if let testArray : AnyObject? = defaults.objectForKey("Mybookmarks") {
objects = testArray as! [[String:String]]
}

编辑:

并将 Interface Builder 中的 tableview 实例与 IBOutlet 连接起来。您使用 var tableView: UITableView = UITableView() 创建的实例是一个全新的实例,它与 IB 中的实例不同

关于ios - 在 swift 中读取并保存在数组中设置数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31207643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com