2010-09-18 43 views
5

này sẽ được tải một mảngKhi nào thì initWithCoder được gọi?

- (id)initWithCoder:(NSCoder*) coder 
{ 
    self = [super initWithCoder: coder]; 
    if (self) { 
     myArray=[coder decodeObjectForKey:@"myArray"]; 
    } 
    return self; 
} 

mã mà sẽ gọi hàm này để mảng có thể được nạp là gì?

+1

Không phải bạn phải giữ lại mảng để sở hữu. –

Trả lời

1

Như DarkDust đã nói, nó được gọi khi NSUnarchiver hoặc NSKeyedUnarchiver được sử dụng. Tuy nhiên, điều này không nhất thiết phải là trường hợp riêng. Người ta thực sự có thể triển khai NSCoder tùy chỉnh và theo NSDecoder .. ví dụ: để mã hóa/giải mã yaml, v.v ...

Trường hợp sử dụng phổ biến nhất là khi tải các tệp nib, vì các nội dung đó được lưu trữ.

Các vấn đề liên quan