2010-11-17 28 views

Trả lời

4

Bạn có nghĩa vụ phải sử dụng phương pháp initWithCoder: khi bạn đang làm việc với các đối tượng đã được lưu trữ. Ví dụ: khi bạn sử dụng cụ thể NSKeyedUnarchiver để tạo các đối tượng được lưu trữ này hoặc khi bạn cần thêm mã khởi tạo tùy chỉnh vào các đối tượng đến từ tệp xib.

+1

lý do tôi hỏi là vì tôi đã tạo phân lớp UIScrollView, tôi muốn đặt vị trí đó trong xib và lấy thông tin đó và sử dụng nó để đặt lên các phân lớp, tôi sẽ sử dụng initWithCoder: cho một cái gì đó như thế? – cgossain

9

Có, nếu bạn đang sử dụng một lớp tùy chỉnh trong IB, thì các đối tượng đó được khởi tạo bằng phương thức initWithCode:. Vì vậy, trong lớp học của bạn, bạn sẽ ghi đè:

-(id) initWithCoder:(NSCoder*)aDecoder { 
    if (! (self = [super initWithCoder:aDecoder])) 
     return nil; 

    // object has been created from IB... do initialization stuff here 

    return self; 
} 
Các vấn đề liên quan