使用Swift 1.2(是的,我没有切换到Xcode 7,这让我感到悲伤),我有以下表格视图委托方法:
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.coreDataSource.numberOfRowsInSection(section)
}
导致Xcode 6.4给出错误:
无法调用' numberOfRowsInSection'使用类型的参数列表 '(INT)'
我的CoreDataSource方法,从Objective-C桥接,具有以下.h声明:
- (NSUInteger) numberOfRowsInSection: (NSUInteger) section;
如果我在表格视图委托方法中应用UInt强制:
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.coreDataSource.numberOfRowsInSection(UInt(section))
}
Xcode现在给出错误:
' UINT'不可转换为' Int'
所以,如果你这样做,它看起来很有名,如果你没有那种场景,它就会被淹没。
来自Apple's docs,他们说:
Swift将NSUInteger和NSInteger连接到Int。
思想?
答案 0 :(得分:8)
将整个return语句换行Int
(返回Int(self.coreDataSource…)
)。