- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi đang viết một lớp con tùy chỉnh của UITableView. Tôi cần chính đối tượng đó làm nguồn dữ liệu và đại biểu của riêng nó, sau đó lớp con này sẽ có nguồn dữ liệu và đại biểu riêng. Điều này chủ yếu là để tôi có thể chặn các cuộc gọi đến nguồn dữ liệu và ủy quyền cũng như có thể tăng cường chúng trước khi gửi chúng đến nguồn dữ liệu thực tế của chúng.
Lớp học của tôi được định nghĩa như thế này.
CustomTableView : UITableView {
...
id tùy chỉnhDataSource;
id customDelegate;
}
Sự cố xảy ra khi tôi cố gắng thiết lập nguồn dữ liệu và ủy quyền.
Tôi muốn ghi đè các thuộc tính của uitableview:
- (void)setDataSource(id)ds {
[siêu setDataSource:tự]
customDataSource = ds;
}
Về cơ bản, tôi muốn yêu cầu lớp cha (UItableView) đặt nguồn dữ liệu cho chính nó. Sau khi sửa đổi chúng, tôi chuyển tiếp mọi lệnh gọi lại tới customDataSource.
[super setDataSource:self] không gặp sự cố nhưng nguồn dữ liệu không bao giờ được đặt. Có ai có ý tưởng gì không? Cảm ơn
câu trả lời hay nhất
Cuối cùng tôi không cần sử dụng phương pháp được đề xuất trong câu hỏi này, nhưng tôi đã làm được. Vấn đề là tôi đã vô tình tổng hợp các thuộc tính cần ghi đè, cụ thể là dataSource và delegate.
Đối với những người cần thực hiện việc này trong tương lai, chỉ cần ghi đè setDelegate và setDataSource trong lớp con tùy chỉnh của bạn.
Về vấn đề uitableview - một lớp con tùy chỉnh của uitableview, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/4340758/
Tôi đang triển khai thuật toán phân cụm quang phổ và tôi phải đảm bảo rằng ma trận (ma trận Laplacian) là ma trận bán xác định dương. Chỉ cần kiểm tra xem ma trận có xác định dương (PD) hay không là đủ vì phần "một nửa" có thể được nhìn thấy trong các giá trị riêng. Ma trận rất lớn (nxn, trong đó n là hàng nghìn) nên các đặc điểm
Tôi là một lập trình viên xuất sắc, rất giỏi!