OC에서 사용자 정의 형식 대상을 저장하는 지구화 방법
사용자 정의 형식을 저장하는 그룹을 영구화하려면 (메모리에 있는 임시 데이터를 파일 < 데이터베이스 등 > 형식으로 디스크에 쓰는 것) 만족해야 합니다.
1. 사용자 정의 대상은 서열화되어야 합니다. (데이터를 질서정연하게 저장해야 합니다.)
2. 지속적인 아카이빙 필요
3. 지구화 파일을 불러오려면 반서열화가 필요합니다. (질서정연하게 저장된 데이터를 읽고 사용자 정의 대상이 되는 것입니다.)
첫째, 사용자 정의 형식을 서열화하고, 세 번째 단계는 파일을 반서열화하려면 OC의
Student 클래스의 경우
@interface Student : NSObject<NSCoding>
@property(nonatomic,copy)NSString * name;
@property(nonatomic,copy)NSString * pwd;
@end
서열화 방법은
-(void)encodeWithCoder:(NSCoder *)aCoder
{
[aCoder encodeObject:self.name forKey:@"name"];
[aCoder encodeObject:self.pwd forKey:@"pwd"];
}
반서열화 방법은 다음과 같습니다.
-(id)initWithCoder:(NSCoder *)aDecoder
{
self= [super init];
if(self)
{
self.name=[aDecoder decodeObjectForKey:@"name"];
self.pwd=[aDecoder decodeObjectForKey:@"pwd"];
}
return self;
}
주의해야 할 것은 우리가 클래스의 성명 문서에서 이 두 파일을 성명할 필요가 없다는 것이다. 왜냐하면 우리는 이 두 가지 방법만 이 클래스에서 사용하기 때문에 우리는 실현 파일에서 이 두 가지 방법을 실현하면 된다.
주의해야 할 것은 압축 파일 작업이 밖에서 이 협의를 실현하는 두 가지 방법은 이미 시스템에 의해 실현되었기 때문에 우리는 압축 파일 작업을 실현할 필요가 없다.우리가 필요로 하는 것은 단지 파일을 지정한 파일에 쓰고, 이 파일을 읽는 것이다.우리는 우리가 읽기와 쓰기 방법을 실현하는 과정에서 서열화와 반서열화 조작을 실현했다는 것을 이해할 수 있다.따라서 아카이빙 작업을 수행할 수 있습니다.파일에 쓰기 및 읽기 코드는 다음과 같습니다.
[NSKeyedArchiver archiveRootObject:stuArr toFile:@"/Users/Administrator/Desktop/4.plist"];
[NSKeyedUnarchiver unarchiveObjectWithFile:@"/Users/Administrator/Desktop/4.plist"];
이 파일에 포함된 대상을 옮겨다니면 파일에 포함된 대상의 모든 속성을 얻을 수 있습니다
for(Student * s in stuArr)
{
NSLog(@"%@,%@",s.name,s.pwd);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.