gpt4 book ai didi

objective-c - 创建多个 UILocalNotifications

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:21:06 25 4
gpt4 key购买 nike

每次进入某个方法我都想创建一个新的UILocalNotification。我认为这必须通过读取数组或沿着这条线的东西来完成,但我无法弄清楚。我如何在不对以下内容进行硬编码的情况下动态地执行此类操作:

-(void) createNotification
{
UILocalNotification *notification1;
}

现在我希望能够在每次输入 createNotification 时创建 notification2、notification3 等。出于特定原因,我可以取消相应的通知,而无需全部取消。

以下是我尝试过的方法,也许我还差得远……也许不是。无论哪种方式,如果有人可以提供一些输入,将不胜感激。谢谢!

-(void) AddNewNotification
{

UILocalNotification *newNotification = [[UILocalNotification alloc] init];
//[notificationArray addObject:newNotification withKey:@"notificationN"];
notificationArray= [[NSMutableArray alloc] init];

[notificationArray addObject:[[NSMutableDictionary alloc]
initWithObjectsAndKeys:newNotification,@"theNotification",nil]];

}

最佳答案

您快到了:使用数组当然是正确的做法!唯一的问题是,每次执行 AddNewNotification 方法时,您都会不断创建数组的新实例。您应该使 notificationArray 成为实例变量,并将其初始化代码 notificationArray= [[NSMutableArray alloc] init]; 移动到 notificationArray< 所在类的指定初始化程序 已声明。

如果您希望每次都通知您插入一个单独的键以便稍后可以找到它,请使用 NSMutableDictionary 而不是 NSMutableArray。重写 AddNewNotification 方法如下:

-(void) addNewNotificationWithKey:(NSString*)key {
UILocalNotification *newNotification = [[UILocalNotification alloc] init];
[notificationDict setObject:[[NSMutableDictionary alloc]
initWithObjectsAndKeys:newNotification,@"theNotification",nil]
forKey:key];

}

当您调用 addNewNotificationWithKey: 方法时,您可以为新添加的通知提供 key ,例如

[self addNewNotificationWithKey:@"notification1"];
[self addNewNotificationWithKey:@"notification2"];

等等。

关于objective-c - 创建多个 UILocalNotifications,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11387650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com