2010-08-09 26 views
5

Tôi đang đi sâu vào phát triển iOS và đã làm việc trên ứng dụng đồng hồ báo thức để làm quen với nền tảng iOS và SDK. Tôi đang sử dụng Thông báo cục bộ để xử lý báo thức của mình nhưng tôi cần một số phương pháp quản lý Thông báo địa phương mà tôi đặt để có thể cập nhật nếu tôi chỉnh sửa hoặc xóa bất kỳ báo thức nào liên quan đến chúng. Tôi đã tìm ra cách tôi có thể hủy thông báo cục bộ bằng cách sử dụng chức năng cancelLocalNotification: sau khi được lên lịch nhưng tôi đang gặp khó khăn trong việc tìm cách truy xuất đối tượng Thông báo cục bộ được kết hợp với báo thức đã được chỉnh sửa hoặc xóa để tôi có thể sử dụng chức năng. Tôi nên lưu ý rằng tất cả các đối tượng báo động của tôi được sử dụng để tạo ra các Thông báo địa phương đang được lưu trữ trong một Core Data DB và giao diện của họ được định nghĩa là ...Cách tốt nhất để quản lý Thông báo địa phương mà ứng dụng của bạn đã lên lịch là gì?

@interface Alarm : NSManagedObject 
{ 
} 

@property (nonatomic, retain) NSNumber * Snooze; 
@property (nonatomic, retain) NSNumber * AlarmID; 
@property (nonatomic, retain) NSString * Label; 
@property (nonatomic, retain) NSDate * Repeat; 
@property (nonatomic, retain) NSDate * Time; 
@property (nonatomic, retain) NSNumber * Enabled; 
@property (nonatomic, retain) NSString * Song; 
@property (nonatomic, retain) NSString * Sound; 

@end 
  1. một cách tốt để quản lý là gì Thông báo địa phương lịch ứng dụng của tôi để sau này tôi có thể truy xuất các đối tượng Thông báo địa phương đó và lên lịch lại nếu cần?
  2. Có cách nào để truy xuất Thông báo địa phương đã được ứng dụng của bạn lên lịch không?
  3. Nếu có, có cách nào để xác định chúng duy nhất không?

Cảm ơn bạn rất nhiều vì sự giúp đỡ của bạn!

Trả lời

16

Để trả lời câu hỏi # 2 sử dụng scheduledLocalNotifications, sẽ lấy lại cho bạn NSArray của tất cả các thông báo được lên lịch cho ứng dụng của bạn.

Để trả lời câu hỏi # 3 sử dụng userInfo thuộc tính của lớp UILocalNotification. Đó là một cuốn từ điển và bạn có thể lưu bất cứ thứ gì bạn muốn ở đó.

+0

cảm ơn, sha, dường như đủ đơn giản! – BeachRunnerFred

+0

Điều này chỉ cho phép bạn tìm kiếm cơ sở dữ liệu một cách hiệu quả cho bất kỳ thông báo cụ thể nào. Cách khác, tìm đối tượng thông báo cho một mục nhập cơ sở dữ liệu đã cho, sẽ yêu cầu bạn tìm kiếm thông qua mảng scheduleLocalNotifications. Có thể lưu trữ con trỏ trong Dữ liệu chính không? Hoặc là không có bảo đảm thông báo vẫn còn ở cùng một địa chỉ bộ nhớ? Không phải tìm kiếm thông qua một mảng nhỏ là một việc lớn như vậy. –

+0

'scheduleLocalNotifications' chỉ truy xuất' UILocalNotification 'với thuộc tính' repeatInterval' khác với 'nil'. – IgniteCoders

0
  1. Bạn có thể truy xuất tất cả các thông báo cục bộ mà ứng dụng của bạn đã lên lịch sử dụng các lớp UIApplication scheduleLocalNotifications.
Các vấn đề liên quan