Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // why does this not compile?
- // Book implements BookRenderable
- // so why does the compiler complain when Library.books is a [Book] and LibraryRenderable is looking for [BookRenderable] ??
- protocol LibraryRenderable {
- var address : String? { get }
- var books : [BookRenderable]? { get }
- }
- protocol BookRenderable {
- var title : String? { get }
- var author : String? { get }
- }
- struct MockLibrary : LibraryRenderable {
- let address = "123 Main Street"
- let books = [MockBook(), MockBook()]
- }
- struct MockBook : BookRenderable {
- let title : String? = "Ender's Game"
- let author : String? = "Orson Scott Card"
- }
- class Library : LibraryRenderable {
- var address : String?
- var books : [Book]? // <---- compiler complains "does not conform to LibraryRenderable"
- }
- class Book : BookRenderable {
- var title : String?
- var author : String?
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement