iphone 6
The start of a new year may mean it's time to get a new phone, especially if you've been holding on to that iPhone 6 you picked up nearly four years ago. The iPhone's gone through a few upgrade cycles since then, adding better processors, a pressure-sensitive screen and improved cameras.

Even if you upgraded to the iPhone 6s or 6s Plus a couple of years ago, you're probably looking at the iPhone 8 and iPhone X with envy. Apple's new phones are expensive. 1,000. Trading in your current phone can get you some cash back, though, even if you've got an iPhone with a few years on it.

Here's a closer look at what you can expect to get back for your iPhone 6, including the 2015 iPhone 6s and 6s Plus updates. To find out trade-in values, we turned to five popular sites for trading in iPhones. We used a Space Gray iPhone as our default model for each iPhone when available, though trade-in prices don't vary much depending on color.

In the case of GameStop, the numbers listed below are trade-in values available for the general public; that retailer offers higher trade-in values for its Elite Pro and Pro members, though those reward programs come with annual fees. 191 for your iPhone 6/6 Plus, depending on carrier and capacity. Walmart tends to offer the most money for your pre-loved handset, though Amazon and Gazelle aren't that far behind.

Best Buy's listed trade-in values were consistently the lowest, with the exception of higher-capacity versions of newer iPhones. 265, depending on which model and capacity you're selling. On these newer phones, Walmart posts the highest trade-in amounts by some distance. Amazon is the place to turn if you're selling an unlocked iPhone, though. Verizon models tend to fetch the most money, while T-Mobile phones are usually worth tens of dollars less.

Sprint-tied iPhones also have lower values than models from AT&T and Verizon. The value of unlocked iPhones varies across providers, with Amazon and Gazelle offering the best return on average. The lists below show the maximum cash and credit offers you can now expect at these major retailers that have trade-in programs. Your phone will typically need to be in good (or in some cases Like New) condition, have a non-cracked screen, have Find My iPhone turned off and be able to power on. At Walmart, you'll maximize your return by including a charger with your trade-in.

Not everything will work every time and shouldn't be used as a catch all. The other problem with protocols, depending on how you implement them, is that the delegate is not necessarily "the droid you are looking for". I had a subclassed VC that implemented an optional method. Although not ideal, I needed the data object to check the delegate it had was the one that implemented the optional protocol.

There are numerous ways to skin that cat, like adding an empty method to the superclass, but circumstances and implementation don't always make that approach suitable. If I'm not mistaken, I've always understood you need to be very certain about using singletons, as they can severely limit your options down the track when you suddenly realise you might need two instances of the object.

I'd be interested in your views on that aspect. Thanks korutech. I don't think there is much of a difference between the two. There is however the problem of access to the data by a certain object. How do we make sure that the object that is accessing the pointer or singleton is using the right data.