중화사전망 - 자전 검색 - IOS 는 가변적이고 변하지 않습니다.

IOS 는 가변적이고 변하지 않습니다.

NSstring, NSDictionary, NSArray immutable, mutable NSMutableString, NSMutableDictionary, nsmuttionary 등 ns 로 시작하는 클래스는 iOS 프로젝트에서 자주 사용됩니다

그것을 사용할 때마다, 나는 왜 이런 상황이 발생했는지, 이 변화가 어떤 유익이 있는지, 코딩에 어떤 도움이 되는지 등 몇 가지 문제를 보고한다.

메모리 공간의 크기가 우리에 의해 결정되는 개체를 만듭니다. 이 메모리 공간의 크기는 실제로 alloc 에 의해 결정됩니다. 그러나 alloc 은 새로운 메모리 공간을 선언하고 크기를 초기화합니다. 메모리 공간을 초기화한 후에는 메모리 크기와 값을 마음대로 변경할 수 없습니다.

만약 우리가 다른 시간에 이 개체의 메모리 주소를 바꿔야 한다면?

Objective-C 에서는 가변 객체의 개념을 제시했습니다. 가변 객체가 사용하는 메모리 크기와 데이터는 alloc 초기화 시 결정될 뿐만 아니라 다른 경우에도 스스로 변경할 수 있습니다.

개념을 분명히 이해한 후 기본 프레임워크에서 사용할 수 있는 변수 유형은 무엇입니까?

특히 NSMutable 이 있는 모든 유형은 소프트 유형인지 확인할 수 있습니다.

일반적인 변수 유형은 NSMutableArray, NSMutableDictionary, NSMutableString, NSMutableAttributedString, NSMutableSet 등입니다. 예를 하나 들어보지 않겠습니다. Xcode 에서 자동으로 보충해 드리겠습니다.

분석

불변 집합을 사용할 때 이렇게 이해할 수 있을까요?

C 형식, 순서표, 체인표, 배열로 만들 수 있나요?

한 장면을 추측하다. 경매에서 배열, 체인 테이블 및 시퀀스 테이블은 고객이 선택할 수 있는 기능을 소개해야 합니다.

불변: 순서 테이블과 연결된 테이블이 모두 데이터 구조이기 때문에 pass 는 배열을 선택합니다.

변수: 추가 삭제가 필요하므로 배열 pass, 체인표, 순서표는 각각 장단점이 있고, OC 는 시공간의 복잡성에 따라 전환한다. (아마도 추측일 뿐, 틀리면 나를 때리지 마세요.)

IOS 심층 및 얕은 복제 NSString, NSMutableString( 1)

IOS 심층 및 얕은 복제 NSArray 및 NSMutableArray(2)

IOS 의 놀라운 것들 깊은 얕은 복제 (3)