'numberOfPages' 的使用不明确

Ambiguous use of 'numberOfPages'

我不明白我在 TableViewController 中使用 book.numberOfPages 有什么不明确之处。我对使用任何其他属性没有任何问题。这里不应该有任何歧义:我在数据模型编辑器中和 TableViewController 的顶部将其定义为 Float。

 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
            if segue.identifier == "showBookDetail" {
                let indexPath:NSIndexPath = self.tableView.indexPathForSelectedRow()!
                let book: AnyObject = addBookViewController.fetchedResultsController.objectAtIndexPath(indexPath) as! Book
                var detailViewController:BookDetailViewController = segue.destinationViewController as! BookDetailViewController
                detailViewController.title = book.name
                detailViewController.pagesReadText = "\(Int(book.pagesRead))"
                detailViewController.timeReadText = "\(Int(book.timeRead))"
                println(book.numberOfPages)
            }
        }

可能您不能将 book 声明为 AnyObject 以便编译器知道它是 Book...

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
            if segue.identifier == "showBookDetail" {
                let indexPath:NSIndexPath = self.tableView.indexPathForSelectedRow()!
                let book = addBookViewController.fetchedResultsController.objectAtIndexPath(indexPath) as! Book
                var detailViewController:BookDetailViewController = segue.destinationViewController as! BookDetailViewController
                detailViewController.title = book.name
                detailViewController.pagesReadText = "\(Int(book.pagesRead))"
                detailViewController.timeReadText = "\(Int(book.timeRead))"
                println(book.numberOfPages)
            }
        }