Swift 1.2 (はい、私は悲しみの原因となっている Xcode 7 に切り替えていません) では、次のテーブル ビュー デリゲート メソッドがあります。
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.coreDataSource.numberOfRowsInSection(section)
}
これにより、Xcode 6.4 でエラーが発生します。
タイプ '(Int)' の引数リストで 'numberOfRowsInSection' を呼び出すことはできません
Objective-C からブリッジされた私の CoreDataSource メソッドには、次の .h 宣言があります。
- (NSUInteger) numberOfRowsInSection: (NSUInteger) section;
テーブル ビューのデリゲート メソッドで UInt 型強制を適用すると、次のようになります。
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.coreDataSource.numberOfRowsInSection(UInt(section))
}
Xcode でエラーが発生するようになりました。
「UInt」は「Int」に変換できません
だから、あなたがそうしなければダメだ、あなたがシナリオのようなものをしなければダメに見える.
Apple のドキュメントから、彼らは次のように述べています。
Swift は、NSUInteger と NSInteger を Int にブリッジします。
考え?