检测并删除Swift中的空白tableViewCell
我的项目中运行了两个tableView。我已成功地在两个tableView之间传递数据,并使用segue将其作为tableView数组保存到我的第二个tableView中。我还有另一个使用tabBar按钮连接第二个tableView的功能。每次按tabBar按钮时,它都会在indexath:0处创建一个空白tableViewCell。我能理解为什么会发生这种情况,但我不知道如何停止。下面是我的代码 AppDelegate:检测并删除Swift中的空白tableViewCell,swift,uitableview,nsuserdefaults,Swift,Uitableview,Nsuserdefaults,我的项目中运行了两个tableView。我已成功地在两个tableView之间传递数据,并使用segue将其作为tableView数组保存到我的第二个tableView中。我还有另一个使用tabBar按钮连接第二个tableView的功能。每次按tabBar按钮时,它都会在indexath:0处创建一个空白tableViewCell。我能理解为什么会发生这种情况,但我不知道如何停止。下面是我的代码 AppDelegate: func application(_ application:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
let defaultValues = ["NewArray": [String]()]
UserDefaults.standard.register(defaults: defaultValues)
return true
}
我的第二个VC
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let defaults = UserDefaults.standard
newArray = defaults.array(forKey: "NewArray") as! [String]
// newArray.append(newItem)
newArray.insert(newItem, at: 0)
defaults.set(newArray, forKey: "NewArray")
self.favTableView?.reloadData()
}
提前感谢…实际上最简单的解决方案是检查
newItem
是否为空,因为如果视图是从segue显示的,则会将一个(非空)字符串传递给newItem
属性
override func viewDidLoad() {
super.viewDidLoad()
let defaults = UserDefaults.standard
newArray = defaults.array(forKey: "NewArray") as! [String]
// newArray.append(newItem)
if !newItem.isEmpty {
newArray.insert(newItem, at: 0)
defaults.set(newArray, forKey: "NewArray")
}
self.favTableView?.reloadData()
}
实际上,最简单的解决方案是检查
newItem
是否为空,因为如果视图是从segue显示的,则会将一个(非空)字符串传递给newItem
属性
override func viewDidLoad() {
super.viewDidLoad()
let defaults = UserDefaults.standard
newArray = defaults.array(forKey: "NewArray") as! [String]
// newArray.append(newItem)
if !newItem.isEmpty {
newArray.insert(newItem, at: 0)
defaults.set(newArray, forKey: "NewArray")
}
self.favTableView?.reloadData()
}
每次调用
viewDidLoad
时,都会插入一个新项。如果newItem
为空字符串,则该行似乎为空。您可以重新考虑按需插入项目的设计。@瓦迪安,您能详细说明一下吗……ThanksI写了一个答案。每次调用viewDidLoad
时,都会插入一个新项目。如果newItem
为空字符串,则该行似乎为空。您可能会重新考虑按需插入项目的设计。@vadian您能否详细说明一下……ThanksI写了一个答案。