Increased the number of cards from 1 to 12 in the story board. Updated the controller with a setter for the collections of cards in which I set the title for selected state for each of them to be a random card
Created the model class to hold the logic of the matching game. Implemented its designated initializer.
Fixed one typo and incorrect public method signature in Card class's header (implementation is fine)
Implemented algorithm for the card matching game in the CardMatchingGame class. Also implemented an overridden match method in PlayingCard to work with the algorithm.
Fixed a typo in the designated initialiser signature for CardMatchingGame class
Modified the controller to make use of the CardMatchingGame class (flipCard and cardButtons setter now use it).
Removed direct use of a Deck in the controller as this is handled by the game logic in CardMatchingGame.
Added a function to keep the UI updated to reflect the state of the CardMatchingGame model class.
In the UI updater function, make sure we set the title for the matched card state that corresponds to the button to be both selected and disabled.
In the UI updater function, set the transparency of matched cards to non-opaque so it is obvious they are matched and cannot be played anymore
Display the score in the UI: Added UI label in story board and the Ui updater function keeps the UI label updated with score.