You can do whatever you like but you should use the second option. This is because it will be something like code documentation if other developer see it he or she will know that you copy the string just by looking at:
@property (copy, nonatomic) NSString *someString;
The same if you use retain/assign it's best practice to retain/assign object in custom setter. It will make your code more clearer more documented and much more understandable for others developers.