在我的应用中,我有一个标签,当用户点击视图以摇动iPhone时,它将随机更改报价。如果用户双击同一视图,则应将报价保存在TableView中。 一开始,我以为我可以使用CoreData,但他没有用。现在,我使用的是UserDefaults,现在,如果我双击该视图,将保存引用,但一次只保存一个。我想要做的是,他创建了一个用户双击的所有报价的列表。
以下是doubleTap对象中的代码:
let savedQuotes = UserDefaults.standard.setValue(quoteLabel.text!, forKey: "saveQuotes")
if let printSavedQuotes = UserDefaults.standard.string(forKey: "saveQuotes"){
print(printSavedQuotes)
}
这是我在TableVIew内部使用的代码:
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
_ = UserDefaults.standard.string(forKey: "saveQuotes")
return 15
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "QuoteCell", for: indexPath)
if let printSavedQuotes = UserDefaults.standard.string(forKey: "saveQuotes"){
cell.textLabel?.text = "\(printSavedQuotes)"
}
这是问题的图像。
答案 0 :(得分:2)
请在Swift中了解Collections
。您要寻找的是Array
类型。一种类型,表示以特定顺序存储的元素的集合。
文档: https://developer.apple.com/documentation/swift/array
现在,当您学习如何将内容保存到数组中时,可以将此数组连接到tableView
。
最基本的设置是:
var quotes: [String] = ["quote1", "quote2", "quote3"]
在numberOfRowsInSection
中,您返回quotes.count
并在cellForRow
中输入您的cell.textLabel.text == quotes[indexPath.row]
答案 1 :(得分:0)
请尝试以下方法。
df[(df['claim_staus'].apply(lambda x: 11 in x)) & (df['claim_status_reason'].apply(lambda x: 'a1' in x))]
这只是一个示例,推荐的方法是使用sqlite或core-data代替UserDefaults存储持久性数据。