OC-NSData 학습 노트
7279 단어 ios
- (instancetype)initWithBytesNoCopy:(void *)bytes length:(NSUInteger)length freeWhenDone:(BOOL)b;
객체를 초기화합니다.바이트 그룹 복사 작업을 하지 않고 바이트 포인터를bytes로 직접 설정하고 길이는length입니다.
- (instancetype)initWithBytesNoCopy:(void *)bytes length:(NSUInteger)length;
객체를 초기화합니다.바이트 그룹 복사 작업을 하지 않고 바이트 포인터를bytes로 직접 설정하고 길이는length입니다.
- (instancetype)initWithBytes:(nullable const void *)bytes length:(NSUInteger)length;
。
, , length。
- (nullable instancetype)initWithContentsOfFile:(NSString *)path;
。
, nil。
- (nullable instancetype)initWithContentsOfFile:(NSString *)path options:(NSDataReadingOptions)readOptionsMask error:(NSError **)errorPtr;
。
。 nil, errorPtr 。
readOptionsMask 。
typedef NS_OPTIONS(NSUInteger, NSDataReadingOptions) {
NSDataReadingMappedIfSafe = 1UL << 0,
NSDataReadingUncached = 1UL << 1,
NSDataReadingMappedAlways = 1UL << 3,
NSDataReadingMapped = NSDataReadingMappedIfSafe,
NSMappedRead = NSDataReadingMapped,
NSUncachedRead = NSDataReadingUncached
};
- (nullable instancetype)initWithContentsOfURL:(NSURL *)url;
url 내용 초기화 대상을 읽습니다.읽기에 성공하면 대상을 되돌려주고, 실패하면 nil을 되돌려줍니다.
- (nullable instancetype)initWithContentsOfURL:(NSURL *)url options:(NSDataReadingOptions)readOptionsMask error:(NSError **)errorPtr;
url 。
。 nil, errorPtr 。
readOptionsMask 。
- (instancetype)initWithData:(NSData *)data;
NSData 。
- (nullable id)initWithContentsOfMappedFile:(NSString *)path
파일 내용에 따라 대상을 초기화합니다.파일 내용을 읽는 방식은read시스템 호출이 아니라 mmap시스템 호출입니다.
구조
+ (instancetype)data;
NSData 。
+ (instancetype)dataWithBytesNoCopy:(void *)bytes length:(NSUInteger)length freeWhenDone:(BOOL)b;
。 。
+ (instancetype)dataWithBytesNoCopy:(void *)bytes length:(NSUInteger)length;
。 。
+ (instancetype)dataWithBytes:(nullable const void *)bytes length:(NSUInteger)length;
。 。
+ (nullable instancetype)dataWithContentsOfFile:(NSString *)path;
。
+ (nullable instancetype)dataWithContentsOfFile:(NSString *)path options:(NSDataReadingOptions)readOptionsMask error:(NSError **)errorPtr;
。
+ (nullable instancetype)dataWithContentsOfURL:(NSURL *)url;
url 。
+ (nullable instancetype)dataWithContentsOfURL:(NSURL *)url options:(NSDataReadingOptions)readOptionsMask error:(NSError **)errorPtr;
url 。
+ (instancetype)dataWithData:(NSData *)data;
NSData 。
+ (nullable id)dataWithContentsOfMappedFile:(NSString *)path
。 read , mmap 。
반환 길이
@property (readonly) NSUInteger length;
@property (readonly) const void *bytes
- (void)getBytes:(void *)buffer range:(NSRange)range;
buffer , range 。
- (void)getBytes:(void *)buffer length:(NSUInteger)length;
。 length , 。
- (void)getBytes:(void *)buffer
。
- (NSData *)subdataWithRange:(NSRange)range;
range 。
- (BOOL)isEqualToData:(NSData *)other;
。
파일 쓰기
- (BOOL)writeToFile:(NSString *)path options:(NSDataWritingOptions)writeOptionsMask error:(NSError **)errorPtr;
path 。 errorPtr 。 writeOptionsMask , 。
typedef NS_OPTIONS(NSUInteger, NSDataWritingOptions) {
NSDataWritingAtomic = 1UL << 0,
NSDataWritingWithoutOverwriting NS_ENUM_AVAILABLE(10_8, 6_0) = 1UL << 1,
NSDataWritingFileProtectionNone NS_ENUM_AVAILABLE_IOS(4_0) = 0x10000000,
NSDataWritingFileProtectionComplete NS_ENUM_AVAILABLE_IOS(4_0) = 0x20000000,
NSDataWritingFileProtectionCompleteUnlessOpen NS_ENUM_AVAILABLE_IOS(5_0) = 0x30000000,
NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication NS_ENUM_AVAILABLE_IOS(5_0) = 0x40000000,
NSDataWritingFileProtectionMask NS_ENUM_AVAILABLE_IOS(4_0) = 0xf0000000,
NSAtomicWrite = NSDataWritingAtomic
};
NSDataWritingAtomic 。
NSDataWritingWithoutOverwriting , NSDataWritingAtomic 。
- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;
。 path , useAuxiliaryFile 。
url
- (BOOL)writeToURL:(NSURL *)url options:(NSDataWritingOptions)writeOptionsMask error:(NSError **)errorPtr;
path url 。 errorPtr 。 writeOptionsMask , 。
- (BOOL)writeToURL:(NSURL *)url atomically:(BOOL)atomically;
url。 path , atomically 。
- (NSRange)rangeOfData:(NSData *)dataToFind options:(NSDataSearchOptions)mask range:(NSRange)searchRange
。 dataToFind 。 searchRange 。 mask 。 。
:
typedef NS_OPTIONS(NSUInteger, NSDataSearchOptions) {
NSDataSearchBackwards = 1UL << 0,
NSDataSearchAnchored = 1UL << 1
}
NSDataSearchBackwards 。
NSDataSearchAnchored ( NSDataSearchBackwards )。
Base64
- (nullable instancetype)initWithBase64EncodedString:(NSString *)base64String options:(NSDataBase64DecodingOptions)options
1
。options 。
typedef NS_OPTIONS(NSUInteger, NSDataBase64DecodingOptions) {
NSDataBase64DecodingIgnoreUnknownCharacters = 1UL << 0
} NS_ENUM_AVAILABLE(10_9, 7_0);
NSDataBase64DecodingIgnoreUnknownCharacters 。
- (NSString *)base64EncodedStringWithOptions:(NSDataBase64EncodingOptions)options
。 options 。
typedef NS_OPTIONS(NSUInteger, NSDataBase64EncodingOptions) {
NSDataBase64Encoding64CharacterLineLength = 1UL << 0,
NSDataBase64Encoding76CharacterLineLength = 1UL << 1,
NSDataBase64EncodingEndLineWithCarriageReturn = 1UL << 4,
NSDataBase64EncodingEndLineWithLineFeed = 1UL << 5,
} NS_ENUM_AVAILABLE(10_9, 7_0);
- (nullable instancetype)initWithBase64EncodedData:(NSData *)base64Data options:(NSDataBase64DecodingOptions)options
。
- (NSData *)base64EncodedDataWithOptions:(NSDataBase64EncodingOptions)options
。
- (nullable id)initWithBase64Encoding:(NSString *)base64String
。
- (NSString *)base64Encoding
。
NSMutableData 。
@property (readonly) void *mutableBytes
@property NSUInteger length;
- (nullable instancetype)initWithCapacity:(NSUInteger)capacity;
。
- (nullable instancetype)initWithLength:(NSUInteger)length;
。 0。
+ (nullable instancetype)dataWithCapacity:(NSUInteger)aNumItems;
。
+ (nullable instancetype)dataWithLength:(NSUInteger)length;
。
- (void)appendBytes:(const void *)bytes length:(NSUInteger)length;
。
- (void)appendData:(NSData *)other;
。
- (void)replaceBytesInRange:(NSRange)range withBytes:(const void *)bytes;
。
- (void)replaceBytesInRange:(NSRange)range withBytes:(nullable const void *)replacementBytes length:(NSUInteger)replacementLength;
。 replacementLength 。
- (void)increaseLengthBy:(NSUInteger)extraLength;
- (void)resetBytesInRange:(NSRange)range;
0。
- (void)setData:(NSData *)data;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swift의 패스트 패스Objective-C를 대체하기 위해 만들어졌지만 Xcode는 Objective-C 런타임 라이브러리를 사용하기 때문에 Swift와 함께 C, C++ 및 Objective-C를 컴파일할 수 있습니다. Xcode는 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.