首先 在起始状态 在AppDelegate的代理类中
在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
在这个函数中,要先先在我们的手机的磁盘文件中判断保存我们摇一摇状态的文件是否存在
- (NSString *)get_filename:(NSString *)name
{
return [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]
stringByAppendingPathComponent:name];
}
得到我们文件的位置
- (BOOL)is_file_exist:(NSString *)name
{
NSFileManager *file_manager = [NSFileManager defaultManager];
return [file_manager fileExistsAtPath:[self get_filename:name]];
}
根据上面两个函数判断我们的文件是否存在
如果不存在 会自动 创建文件 并且会赋值一个默认的初始值
NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"1",@"shake", nil]; //摇一摇 默认是开启的
[dict writeToFile:[self get_filename:@"userSetData.o"] atomically:YES];
上述方法合在一起
-(void)creatSourceData //用于保存本地用户操作数据
{
if(![self is_file_exist:@"userSetData.o"])
{
NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"1",@"shake", nil]; //摇一摇 默认是开启的
[dict writeToFile:[self get_filename:@"userSetData.o"] atomically:YES];
}
}
在摇一摇的代理函数中
NSString *path=[self get_filename:@"userSetData.o"];
NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile:path];
NSString *str=[data objectForKey:@"shake"];
if ([str intValue]!=1) {
[[[iToast makeText:@"请去设置里面开启摇一摇"] setGravity:iToastGravityCenter] show];
return;
}
的到我们的状态 并且进行判断
在设置里面 可以根据状态进行我们的赋值
BOOL open=sender.isOn;
NSString *path=[self get_filename:@"userSetData.o"];
NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile:path];
if (open) {
[[[iToast makeText:@"摇一摇开启成功"] setGravity:iToastGravityCenter] show];
[data setObject:@"1" forKey:@"shake"];
}else
{
[[[iToast makeText:@"摇一摇关闭"] setGravity:iToastGravityCenter] show];
[data setObject:@"0" forKey:@"shake"];
}
[data writeToFile:path atomically:YES];