gpt4 book ai didi

ios - 当我点击表格 View 中的任何单元格时,单元格不会替换

转载 作者:行者123 更新时间:2023-11-28 06:46:38 24 4
gpt4 key购买 nike

我有一个开关控件,代码是:

@IBAction func TappedOnSwitch(SelectUserType: UISwitch) {

if SelectUserType.on{
NSUserDefaults.standardUserDefaults().setBool(true, forKey: "PremiumUser")
print("swifth on")


}
else
{

NSUserDefaults.standardUserDefaults().setBool(false, forKey: "normalUser")
print("swifth off")
}
}

它在我的控制台中打印得很好。然后我检查这个开关状态并替换我的 TableView 中的单元格。

但是效果不是很好。我需要的是?当开关打开时,我需要显示 cell3,当我关闭时,我需要显示 cell2。默认情况下,cell 显示在表格 View 中

这是我的代码:

let premiumUserCheck = NSUserDefaults.standardUserDefaults().boolForKey("PremiumUser")

覆盖函数 viewDidLoad() {

    super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.jsonParsingFromURL()

let nib = UINib(nibName:"customCell", bundle: nil)

tableView.registerNib(nib, forCellReuseIdentifier: "cell")


let nib1 = UINib(nibName:"Expandcell", bundle: nil)

tableView.registerNib(nib1, forCellReuseIdentifier: "cell2")



let nib2 = UINib(nibName:"premiumUsercell", bundle: nil)

tableView.registerNib(nib2, forCellReuseIdentifier: "cell3")



}

更新代码:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

if(isTapped == true && indexPath == selectedIndex)
{



if (premiumUserCheck ) {

let cell1:premiumUsercell = self.tableView.dequeueReusableCellWithIdentifier("cell3") as! premiumUsercell


cell1.vendorName3.text=arrDict[indexPath.section] .valueForKey("name") as? String
cell1.vendorAdddress3.text=arrDict[indexPath.section] .valueForKey("address") as? String

return cell1


print("premium user")
}
else {

let cell2:ExpandCell = self.tableView.dequeueReusableCellWithIdentifier("cell2") as! ExpandCell


cell2.VendorName.text=arrDict[indexPath.section] .valueForKey("name") as? String
cell2.vendorAdress.text=arrDict[indexPath.section] .valueForKey("address") as? String
cell2.externalView.hidden = true

print("non premium user")
return cell2
}
}
else {



let cell:customCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as! customCell


cell.vendorName.text=arrDict[indexPath.section] .valueForKey("name") as? String
cell.vendorAddress.text=arrDict[indexPath.section] .valueForKey("address") as? String

return cell
print("norml user")
}

}

请帮我看看为什么它没有正确替换??

最佳答案

尝试如下更改您的代码,

if SelectUserType.on{

NSUserDefaults.standardUserDefaults().setBool(true, forKey: "PremiumUser")
NSUserDefaults.standardUserDefaults().synchronize()
print("swifth on")


} else {

//Here you were setting value for normalUser key instead of PremiumUser
NSUserDefaults.standardUserDefaults().setBool(false, forKey: "PremiumUser"/*"normalUser"*/)
NSUserDefaults.standardUserDefaults().synchronize()
print("swifth off")
}

关于ios - 当我点击表格 View 中的任何单元格时,单元格不会替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36169598/

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