找不到成员“Fade”
Posted
技术标签:
【中文标题】找不到成员“Fade”【英文标题】:Could not find member 'Fade' 【发布时间】:2014-06-13 16:42:43 【问题描述】:我正在使用 swift 开发基于表格视图的应用程序。我正在尝试使用行动画淡入淡出从表视图中删除一行。一件简单而直接的事情,至少我是这么认为的。 Swift 并没有让很多事情变得简单,而且看起来非常复杂(如果需要另一种编程语言,仍然需要说服)。
我正在尝试像这样删除表格行:
tableView.deleteRowsAtIndexPaths(indexPath, withRowAnimation: .Fade)
我不明白为什么这个简单的过程应该比现在更复杂。 (这让我很困惑)
Xcode6 (Beta) 似乎在抱怨,尽管它是 swift 类的自动生成提供的代码。 (请回到 Objective-C)
错误:Could not find member 'Fade'
截图:
【问题讨论】:
'UITableView().deleteRowsAtIndexPaths(nil, withRowAnimation: .Fade)' 工作吗?它在这里工作。 【参考方案1】:我也遇到了同样的问题。我摆脱编译器错误的唯一方法是使用!在两个选项上,tableView 和 indexPath。
tableView!.deleteRowsAtIndexPaths([indexPath!], withRowAnimation: .Fade)
【讨论】:
在屏幕截图中,这两个参数不是可选的。所以我不明白为什么这应该是公认的答案。 并不是说这应该是公认的答案,但是如果您使用 API 方法获取 indexPath,例如 self.tableView.indexPathForRowAtPoint(location),它们会返回一个可选的。而且编译器警告真的没用。【参考方案2】:我不能说为什么 Xcode 6 会给你这个错误,但是在你的调用中有 另一个 错误:
tableView.deleteRowsAtIndexPaths(indexPath, withRowAnimation: .Fade)
应该是
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
正如deleteRowsAtIndexPaths:withRowAnimation:
所期望的和AnyObject![]
数组,而不是NSIndexPath
实例。
也许这就是问题所在,Xcode 出于某种原因弄错了?
【讨论】:
我刚刚尝试过,并不断收到线程 1:信号 SIGABRT 这可能是问题的原因。.Fade
快捷方式有效,因为 Swift 进行类型推断并确定它属于哪个枚举。但这取决于 Swift 知道您要调用哪个方法,如果您弄错了类型(即签名),则没有这样的方法,因此无法推断。
我知道是这种情况,但是当我尝试这个时(我已经为此启动了 2 个新项目),我总是得到线程 1:信号 SIGABRT 错误,不确定这到底意味着什么@卢卡斯
如果你使用 API 方法来获取 indexPath,比如 self.tableView.indexPathForRowAtPoint(location) 他们返回一个可选的,所以你需要解开它,[indexPath!]。以上是关于找不到成员“Fade”的主要内容,如果未能解决你的问题,请参考以下文章
易语言的错误怎么办错误(36): 找不到指定的对象成员命令名称“创建内存”
易语言问题 错误(36): 找不到指定的对象成员命令名称“取文本长度”。