Can anyone help me evaluate if what I'm doing here is correct?
@swiftHacker wonders if they're following the protocol:
I ran your code in a Playground and both the structs
So I'd say "yes, what you did is correct."
However, you may not appreciate the full value of a protocol's requirement to have a particular function.
Look at the code below. I implemented a different version of
I see. So basically, I can still change what the function does I only need to ensure that the function name is the same as what's in the protocol. I can then somehow "override" it (change what the function does) so that it can be something else entirely. Is my understanding correct?
A follow on question:
Think of the
It allows you to write a custom struct for your application (House, Lego, Employee, Spaceship) and enjoy the benefits of being able to compare and sort them using built in Swift capabilities.
Sorting two objects is subjective. The rules change for every object in existence. So the
First tell your
Xcode will complain that the
Allow Xcode to automagically fix the error by adding the proper protocol stub. You should now see this...
lhs? rhs? What does this even mean?
You are the programmer. You speak to your users. Get their requirements and code them! It is YOUR JOB to determine how you compare two Office buildings. If I were to put two offices in front of you, what is YOUR criteria for sorting them?
As an example, let's go with NUMBER OF FLOORS. lhs is shorthand for Left Hand Side, rhs is shorthand for Right Hand Side. If the right hand building has MORE FLOORS than the left hand building, then the right hand building is "larger" than the right hand one.
So code your
How does this help me?
Now that you've defined what a office building is (floors, offices, cost, etc) You can now create a collection of offices in your application. Because your
Imagine you created a
Now think! How would YOU sort the Lego bricks in the
And keep this in mind! The rules you use to sort two Lego bricks are wildly different from the way I would sort two Student structs. Yet we can both use the array's
SPONSORED Take the pain out of configuring and testing your paywalls. RevenueCat's Paywalls allow you to remotely configure your entire paywall view without any code changes or app updates.
You need to create an account or log in to reply.
All interactions here are governed by our code of conduct.
Link copied to your pasteboard.