gpt4 book ai didi

swift - 任何对象?没有名为 "removeAtIndex"的成员

转载 作者:搜寻专家 更新时间:2023-11-01 05:54:30 25 4
gpt4 key购买 nike

我正在尝试从我的 tableViewCell 中删除一个单元格。我有一个由字符串值组成的 plist。但是 AnyObject 似乎不包含 removeAtIndex。以下是相关代码。

var citiesArray: AnyObject? = nil;

override func viewDidLoad() {
super.viewDidLoad()

//loading an array from a file
var documentList=NSBundle.mainBundle().pathForResource("EuropeanCapitals", ofType:"plist")
citiesArray = NSArray(contentsOfFile:documentList);

func tableView(tableView: UITableView!, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath!) {
if (editingStyle == UITableViewCellEditingStyle.Delete) {
if let tv=tableView
{
citiesArray.removeAtIndex(indexPath!.row) /* Throws Error */
tv.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
}
}

我试过将 citiesArray 声明为 NSArray?我得到 NSArray?没有名为“removeAtIndex”的成员。

最佳答案

removeAtIndex() 不是 NSArray 或 AnyObject 上的方法。您可以尝试将 NSArray 转换为 Swift 数组,然后调用该方法。

if var citiesArr = citiesArray as? Array<AnyObject>{
citiesArr.removeAtIndex(0)
}

removeObjectAtIndex() 也可以在 NSMutableArray 上使用,如果您想使用它的话。

关于swift - 任何对象?没有名为 "removeAtIndex"的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24770515/

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