我需要一个代码来将数据写入电路板,
variables:
favoriteKey String "favoriteProducts1"
String productId "803566"
removeProductToFavorites (favoriteKey: "favoriteProducts1", productId: productsObjectArray [sender.tag] .code!)
@objc func favoriteBtnPressed1 (_ sender: UIButton) {
let productStatus = checkProductFavoriteIsAvailable (favoriteKey: "favoriteProducts1", productId: productsObjectArray [sender.tag] .code!)
if productStatus == true {
removeProductToFavorites (favoriteKey: "favoriteProducts1", productId: productsObjectArray [sender.tag] .code!)
} else {
saveProductToFavorites (favoriteKey: "favoriteProducts1", productId: productsObjectArray [sender.tag] .code!)
}
}
func checkProductFavoriteIsAvailable (favoriteKey: String, productId: String) -> Bool {
var status = false
if let arr = UserDefaults.standard.array (forKey: favoriteKey) as? [String] {
status = true
}
return status
}
func saveProductToFavorites (favoriteKey: String, productId: String) {
var favoriteArray = UserDefaults.standard.array (forKey: favoriteKey) as? [String]
favoriteArray? .append (productId)
UserDefaults.standard.set (favoriteArray, forKey: productId)
}
func removeProductToFavorites (favoriteKey: String, productId: String) {
}
我需要在UserDefaults文件中写入一个数组,其中包含收藏夹产品列表。
以上代码旨在: 1. checkProductFavoriteIsAvailable-此函数将返回true-如果数组已包含产品代码,则返回false,否则将返回false 2. saveProductToFavorites-将新数字(字符串)保存到数组和文件中 3.从阵列和文件中删除所选的产品代码
我可以寻求帮助吗?
更新
答案 0 :(得分:0)
checkProductFavoriteIsAvailable
不检查数组中是否存在产品。它检查favoriteKey
中是否存在键为Userdefaults
的数组。
您需要从用户默认设置中获取阵列,并在该阵列中检查产品是否存在。
答案 1 :(得分:0)
我认为您想要在功能'saveProductToFavorites'中执行的操作是,无论您得到的是什么'productId',您都希望将其添加到针对键'favoritekey'存储的数组中 将您的代码更改为关注,
var favoriteArray = UserDefaults.standard.array(forKey: favoriteKey) as? [String]
if favoriteArray == nil {
favoriteArray = []
}
favoriteArray.append(productId)
UserDefaults.standard.set(favoriteArray, forKey: favoriteKey)
答案 2 :(得分:0)
这两个功能可将产品ID添加到收藏夹,并从收藏夹中删除产品ID。
timedelta
首先检查saveProductToFavorites
中是否有数组。如果是,则在数组不包含ID的情况下添加ID。如果否,它将创建一个新数组。最后将数组保存回去
UserDefaults
func saveProductToFavorites(favoriteKey: String, productId: String) {
if var favoriteArray = UserDefaults.standard.stringArray(forKey: favoriteKey) {
if !favoriteArray.contains(productId) {
favoriteArray.append(productId)
UserDefaults.standard.set(favoriteArray, forKey: favoriteKey)
}
} else {
let favoriteArray = [productId]
UserDefaults.standard.set(favoriteArray, forKey: favoriteKey)
}
}
删除ID(如果该数组和ID存在)
removeProductFromFavorites