Tôi chạy vào một EXC_BAD_ACCESS
khi deallocating một đối tượng mà có vài performSelector:withObject:afterDelay
nơi phương pháp selector đang kêu gọi đối tượng khác và tôi đang giải phóng các đối tượng ...Làm thế nào tôi có thể loại bỏ tất cả performSelector: withObject: afterDelay :?
// một số nơi trong lớp học của tôi tôi đang kêu gọi
[self performSelector:@selector(callObject1Function) withObject:nil afterDelay:2.0];
- (void)callObject1Function{
[object1 function1] // Here i am getting "EXC_BAD_ACCESS"
}
- (void)dealloc {
[object1 release];
[super dealloc];
}
Tôi chỉ không hiểu tôi nghĩ khi bạn dealloc
nó đối tượng, tất cả mọi thứ liên quan đến đối tượng cần được loại bỏ hoặc hủy bỏ, ngay cả các performSelector
với sự chậm trễ !! Có thể một số xin giải thích, Cảm ơn bạn .....
Cũng chỉ NSObject + cancelPreviousPerformRequestsWithTarget: nếu bạn muốn loại bỏ tất cả bộ chọn và đối tượng thực hiện các yêu cầu đến đích đó mà không chỉ định bộ chọn và đối tượng – Bogatyr