alloc와 init는 어떤 검증을 했습니까?
alloc는 메모리와 창설 대상에 대응하는isa 포인터를 분배하는 것을 책임진다.
init는 alloc가 생성한 대상만 되돌려줍니다.
그래서 alloc 이후 init를 여러 번 호출하면 되돌아오는 대상은 동일합니다!
코드는 다음과 같습니다.
1 //
2 // main.m
3 // alloc.initTest
4 //
5 // Created by LongMa on 2019/5/30.
6 // Copyright © 2019. All rights reserved.
7 //
8
9 #import
10
11 int main(int argc, const char * argv[]) {
12 @autoreleasepool {15
16 NSObject *obj1 = [NSObject alloc];
17 NSLog(@"%p",obj1);
18
19 NSObject *obj2 = [obj1 init];
20 NSObject *obj3 = [obj1 init];
21 NSLog(@"%p",obj2);
22 NSLog(@"%p",obj3);
23 }
24 return 0;
25 }
실행 결과:
2019-05-30 09:35:37.019843+0800 alloc.initTest[65183:12003258] 0x10065d810
2019-05-30 09:35:37.019864+0800 alloc.initTest[65183:12003258] 0x10065d810
2019-05-30 09:35:37.019874+0800 alloc.initTest[65183:12003258] 0x10065d810
Program ended with exit code: 0
계발 기사 참조:http://www.cocoachina.com/ios/20190527/27009.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.