Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

iOS

Protocols - need to use [Any]?

I'm currently on the "Protocols as Types" video, and when I follow along, I get to the line of code where we declare the ingredients array.

When use the same code as Pasan, I get an error:

"Heterogeneous collection literal could only be inferred to "[Any]"; add explicit type annotation if this is intentional"

and Xcode suggests changing that line of code to:

let ingredients = [strawberry, chocolateMilk] as [Any]

Does anyone know why this would occur? Perhaps something changed with the new versio of Xcode?

Thank you in advance!

This is because Swift wants for you to add explicit type annotation if this mixing array is intentional. You can check more information in here