将一个NSString复制到另一个NSString

yoz*_*hik 1 iphone copy nsstring copywithzone

如何将一个NSString复制到另一个?

@interface MyData : NSObject
{
    @private

    //user's private info
    NSInteger uID;
    NSString *name;
    NSString *surname;
    NSString *email;
    NSString *telephone;

    //user's picture
    UIImage *image;
}

@property (nonatomic, assign) int uID;
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *surname;
@property (nonatomic, retain) NSString *email;
@property (nonatomic, retain) NSString *telephone;
@property (nonatomic, retain) UIImage *image;
@end
Run Code Online (Sandbox Code Playgroud)

我有两个这种类型的对象.MyData*obj1,obj2;

首先是初始化.其次我想先用初始化.

obj2 = [obj1 copy];   //crashes

    newData.surname = data.surname;   //crashes to
    newData.email = data.email;
    newData.telephone = data.telephone;
Run Code Online (Sandbox Code Playgroud)

我知道第二个对象的副本没有保留!请帮忙!感谢名单!

Ale*_*own 5

您可以使用NSString方法stringWithString.

另见stringwithstring,重点是什么?了解何时可能更喜欢简单地给它相同的字符串.