Barcelona every time, it is a beautiful cultured city with so many things to see and do. It is a modern European city which is clean and where the people are very cultured It is on the coast so you have beautiful beaches as well. Nicosia is a dusty, noisy city and not very beautiful at all. Most of the buildings are old and ugly. A few of the bazaars are nice to visit , but that's about it. The roads are narrow and always congested. There are no beaches and the people are generally quite simple. Nicosia is quite a dirty city. There is no comparison between Barcelona and Nicosia, I would choose Barcelona every time. I am German and I have visited about 46 different countries around the world and Nicosia(or Lefkosia as the locals call it) is one of the worst cities I have visited.
Barcelona is not Spain, it's Catalonia. We are Catalan in Barcelona, not Spanish.
Regarding your question: Barcelona, but I cannot be objective, as I'm from there.
Barcelona is a wonderful city
Cyprus is lovely, trust me you won't regret it :) Europe's cleanest beaches, beautiful weather and cities with full of culture and history. I would choose Cyprus but do as you want