-1
我想存储时间以切换plist中的dict或数组中的每个视图。我如何做到这一点。谢谢你的回答如何将不同的定时器存储在plist中的字典或数组中以加载每个视图
我想存储时间以切换plist中的dict或数组中的每个视图。我如何做到这一点。谢谢你的回答如何将不同的定时器存储在plist中的字典或数组中以加载每个视图
你不能将NSTimer序列化为plist,因为NSTimer不支持NSCoding协议。
选择器可NSString的,则可以使用转换为SEL NSSelectorFromString: 可以在NSDictionary'es的NSArray的收集与存储的密钥:
SEL sel = NSSelectorFromString(@"method:");
在这种情况下,您可以从字典中创建计时器:
NSArray* timers = [NSArray arrayWithContentsOfFile:@"timers.plist"];
id target; // you cannot store target in plist, you must use one target for all timers
for (NSDictionary* dict in timers)
{
NSTimer* timer = [NSTimer scheduledTimerWithTimeInterval:[[dict objectForKey:@"interval"] intValue] target:target selector:NSSelectorFromString([dict objectForKey:@"selector"]) userInfo:[dict objectForKey:@"userinfo"] repeats:NO];
}