【发布时间】:2014-11-23 01:14:12
【问题描述】:
我有以下方法
var photos = [MWPhoto] = [MWPhoto]()
func numberOfPhotosInPhotoBrowser(photoBrowser: MWPhotoBrowser!) -> UInt {
return self.photos.count
}
func photoBrowser(photoBrowser: MWPhotoBrowser!, photoAtIndex index: UInt) -> MWPhotoProtocol! {
return self.photos[index]
}
但是首先我得到Int is not convertible to UInt(因为self.photos.count 是Int
对于第二个 UInt is not convertible to Int - 因为 self.photos[ 只能将 Int 作为其索引。
如何正确地将 UInt 转换为 Int 并返回?
【问题讨论】:
-
如果这些是您自己的方法,您应该只使用
Int而不是UInt。即使这些值永远不会是负数,Swift 文档中的建议基本上是始终使用Int,除非您有特定的理由不这样做(例如与 C 函数的互操作性)。 -
这些来自 MWPhotoBrowser (ObjectiveC)。我已经使用桥接头让我使用它,但这种方式有点古怪。我别无选择,只能使用 UInt 或分叉出 MWPhotoBrowser 并对其进行编辑(有点难以维护)