博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS @proporty 关键字(一)retain strong
阅读量:4707 次
发布时间:2019-06-10

本文共 1824 字,大约阅读时间需要 6 分钟。

@interface User : NSObject    @property (nonatomic,retain) NSString* tRetain;  @property (nonatomic,assign) NSString* tAssign;  @property (nonatomic,copy) NSString* tcopy;    @end

类User有个属性tRetain, 只是就用NSString类型了(此类型一般用copy, 因为可能是个NSMutableString,不希望在赋值后被其他地方修改内容)。

User* user = [[User alloc]init];    NSString* testRetain = [NSString stringWithFormat:@"retain"];  NSLog(@"testRetain.retainCount=%lu",(unsigned long)testRetain.retainCount);  //1    user.tRetain = testRetain;  NSLog(@"testRetain.retainCount=%lu",(unsigned long)testRetain.retainCount);   //2  NSLog(@"user.tRetain.retainCount=%lu",(unsigned long)user.tRetain.retainCount); //2    NSString* testRetain2 = @"retain2";  NSLog(@"testRetain2.retainCount=%lu",(unsigned long)testRetain2.retainCount); //4294967295 自动释放对象  返回max unsigned long      user.tRetain = testRetain2;  NSLog(@"testRetain.retainCount=%lu",(unsigned long)testRetain.retainCount);   //1  NSLog(@"testRetain2.retainCount=%lu",(unsigned long)testRetain2.retainCount); //4294967295  NSLog(@"user.RetainValue.retainCount=%lu",(unsigned long)user.tRetain.retainCount); //4294967295      NSString* testRetain3 = [NSString stringWithFormat: @"retain3"];  NSLog(@"testRetain3.retainCount=%lu",(unsigned long)testRetain3.retainCount); //1    [testRetain3 retain];  NSLog(@"testRetain3.retainCount=%lu",(unsigned long)testRetain3.retainCount); //2    NSString* testRetain4 = [NSString stringWithString:testRetain3];  NSLog(@"testRetain3.retainCount=%lu",(unsigned long)testRetain3.retainCount); //3  NSLog(@"testRetain4.retainCount=%lu",(unsigned long)testRetain4.retainCount); //3

strong是ARC后引入的关键字, 在ARC环境中等同于Retain。

 

NSSring* str = [NSString stringWithString:字符串];   此方法相当于上文对一个retain属性赋值。   若后面的字符串参数的计数为4294967295,则str的计数也是。   若字符串参数可计数, 例如1, 则执行后计数加1.

转载于:https://www.cnblogs.com/FlyLolo/p/7128494.html

你可能感兴趣的文章
HDU-2024
查看>>
人人网SDK Demo项目学习 异步发送信息
查看>>
C++ Boost入门
查看>>
C#文件路径的写法
查看>>
SD 一轮集训 day4 弦形袋鼠
查看>>
5.数据结构--递归
查看>>
Nginx 不区分大小写
查看>>
Oracle 将不同列的值拼接成一个 字符串
查看>>
C#中winform使用相对路径读取文件的方法
查看>>
不错的Android博客
查看>>
如何进行ddos压力测试?
查看>>
无人工干预地自动下载某个文件
查看>>
oracle的单行函数---字符函数
查看>>
Python中的 __init__和 __new__
查看>>
css3 奇技淫巧 - 如何给小汽车换个背景色谈起
查看>>
spring源码学习1 - IDEA构建spring源码阅读环境
查看>>
C#——this关键字(2,3)(含求助贴)
查看>>
PAT1002 写出这个数 (C++实现)
查看>>
亚洲物流巨擘获中国投资者入股
查看>>
how to update product listing price sale price and sale date using mobile App
查看>>