永发信息网

NSString到底是用copy还是strong

答案:2  悬赏:0  手机版
解决时间 2021-03-31 13:55
NSString到底是用copy还是strong
最佳答案
在声明一个NSString属性时,对于其内存相关特性,通常有两种选择(基于ARC环境):strong与copy。那这两者有什么区别呢?什么时候该用strong,什么时候该用copy呢?让我们先来看个例子。

示例
我们定义一个类,并为其声明两个字符串属性,如下所示:

@interface TestStringClass ()
@property (nonatomic, strong) NSString *strongString;
@property (nonatomic, copy) NSString *copyedString;
@end

上面的代码声明了两个字符串属性,其中一个内存特性是strong,一个是copy。下面我们来看看它们的区别。
首先,我们用一个不可变字符串来为这两个属性赋值,

- (void)test {
NSString *string = [NSString stringWithFormat:@"abc"];
self.strongString = string;
self.copyedString = string;
NSLog(@"origin string: %p, %p", string, &string);
NSLog(@"strong string: %p, %p", _strongString, &_strongString);
NSLog(@"copy string: %p, %p", _copyedString, &_copyedString);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
灵辄救赵盾并没有告诉赵盾名字,为什么史料上
绥化最好的火锅
开灯饰店要注意什么?
功率为14kw,选用什么电机以及电机的详细数据
PPR水管接口用熔接器如何熔接
映泰集成主板A78OLB2可以外加一个什么型号的
天音通讯地址在什么地方,想过去办事
香菇能和虾米一起吃吗
上联 玩物丧志 下联怎么对
一般疑问句改转述句
朗逸买中配如何
求一份足球运动员饮食一日三餐的详细食谱。
家中摆放宝剑有忌讳吗?家中有属羊,猴,鼠能
js 获取字符串出现的位置
怎么用现金 转到微信零钱里面
推荐资讯
铁制防盗窗是用角铁做框好还是用方管做框好?
非深户在深圳就读高中需要什么证件?
单选题下列对《听听那冷雨》一文内容的理解,
男人失去小三会痛苦吗
行同步场同步是什么意思?
这种感觉有谁能够体会那个歌有这词
我在非洲有一批黄金,到哪里出手价格高一点
孝南区孝感老董炒菜早点地址是什么,有没有知
六甲煞旺 何解?
吃附片不能吃什么蔬菜吗
天将降大任于是人也,必先苦其心志…的例子
天龙八部明教拿洪荒龙舞
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?