strong vs copy
1533 단어 copy
여기에서, 나는 실례를 통해strong과copy의 차이점을 소개한다. (%p가 출력한 대상의 주소)
ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property(nonatomic,strong) NSString *name;
@end
ViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
NSMutableString *myName = [NSMutableString stringWithString:@"zhangsan"];
self.name = myName;
NSLog(@"myName's address:%p",myName);
NSLog(@"self.name's address:%p",self.name);
}
실행 결과:
2015-07-21 16:38:50.911 Test[4369:2323491] myName's address:0x7967f4c0
2015-07-21 16:38:50.912 Test[4369:2323491] self.name's address:0x7967f4c0
우리가h의strong이copy로 바뀌었을 때,
@property(nonatomic,copy) NSString *name;
실행 결과:
2015-07-21 16:40:09.938 Test[4394:2330879] myName's address:0x78deb9b0
2015-07-21 16:40:09.938 Test[4394:2330879] self.name's address:0x78dea270
비교 결과:
strong을 사용할 때 myName 객체와self.name의 주소가 같으므로 같은 주소 공간을 가리킵니다.
0x7967f4c0
우리가h에서name의strong이copy로 바뀌었을 때 myName과self.name 주소가 다르다는 것은 서로 다른 주소 공간을 가리키는 것을 의미한다.
myName:
0x78deb9b0
self.name:
0x78dea270
이것은 우리가 코피를 사용할 때 서로 다른 저장 공간을 가지고 같은 내용을 저장한다는 것을 의미한다.따라서 myName을 수정하면self.name은 영향을 받지 않습니다.
요약:
여기서 너는 반드시 배워야 한다.
1. 스트롱과 코피의 차이
2. 우리는%p로 대상의 주소를 출력할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
파일 내용 및 파일 경로의 단수 및 복수 대체 텍스트를 사용하여 원본 파일을 대상에 붙여넣기기본 코드로 많은 수의 파일과 폴더를 복사하고 파일 내부의 여러 줄과 파일 및 폴더의 이름을 바꿔야 하는 경우가 많으며 시간이 많이 걸립니다😢. 이 문제를 해결하기 위해 나를 위해 할 수 있는 유틸리티를 작성했습니다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.