Làm cách nào để chuyển một tham số đến phương thức được gọi bởi NSTimer? Bộ hẹn giờ của tôi trông giống như sau:Truyền tham số cho phương thức được gọi bởi một NSTimer
[NSTimer scheduledTimerWithTimeInterval:4 target:self selector:@selector(updateBusLocation) userInfo:nil repeats:YES];
và tôi muốn có thể chuyển chuỗi vào phương thức updateBusLocation. Ngoài ra, ở đâu phải định nghĩa phương thức updateBusLocation? Trong cùng một tập tin .m mà tôi tạo ra bộ đếm thời gian?
EDIT:
Thật sự tôi vẫn đang gặp vấn đề. Tôi nhận được thông báo lỗi:
Chấm dứt ứng dụng do ngoại lệ còn tự do 'NSInvalidArgumentException', lý do: '* - [MapKitDisplayViewController updateBusLocation]: chọn không được công nhận gửi đến dụ 0x4623600'
Đây là mã của tôi:
- (IBAction) showBus {
//do something
[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateBusLocation) userInfo:txtFieldData repeats:YES];
[txtFieldData release];
}
- (void) updateBusLocation:(NSTimer*)theTimer
{
NSLog(@"timer method was called");
NSString *txtFieldData = [[NSString alloc] initWithString:(NSString*)[theTimer userInfo]];
if(txtFieldData == busNum.text) {
//do something else
}
}
EDIT # 2: Đừng bận tâm mã ví dụ của bạn hoạt động tốt nhờ trợ giúp.
Câu hỏi rắn chắc chắn có rất nhiều người đã tự hỏi tại điểm này hay điểm khác. Cảm ơn! –