#Function
- Function
- 刷帧 方法
- 核心动画 到指定位置不返回
- 判断点击的点是不是在按钮范围
- 跳转控制器隐藏tabelbar
- 状态栏设置为白色
- 设置Navgation主题为什么颜色的
- 循环访问代码块
- 断言
- 网络
- % 转义(GET请求拼接URL时使用)
- 保存沙盒
- 保存偏好设置
- 保存到Document
##****刷帧**** ****方法
1.- (void)startRotate{
2. CADisplayLink * link = [CADisplayLink displayLinkWithTarget:self selector:@selector(rotate)];
3. [link addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
4.}
##****核心动画**** ****到指定位置不返回
1. //动画到指定位置不返回
2. basicAni.removedOnCompletion = NO;
3. basicAni.fillMode = kCAFillModeForwards;
判断点击的点是不是在按钮范围
## locationPoint ****点击的点
1. CGRectContainsPoint(button.frame, locationPoint);
跳转控制器隐藏tabelbar
## navgationController ****里面调用该方法
1.// sb 联线跳转控制器 一定会调用 这个方法
2.- (void)pushViewController:(UIViewController*)viewController animated:(BOOL)animated
3.{
4. // 在真正的push"之前" 告诉系统 tabbar不需要显示
5. viewController.hidesBottomBarWhenPushed = YES;
6.
7. [super pushViewController:viewController animated:animated];
8.}
##****状态栏设置为白色
1.// 状态栏白色
2.- (UIStatusBarStyle)preferredStatusBarStyle
3.{
4. return UIStatusBarStyleLightContent;
5.}
##****设置****Navgation****主题颜色的
1.// 设置tintcolor
2.[self.navigationBar setTintColor:[UIColor whiteColor]];
##****循环访问代码块
1. [rootArr enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
2. // 取出字典数组中的字典,实现字典转模型
3. AppInfo *app = [AppInfo appInfoWith:obj];
4. }];
##****断言
1.#pragma mark - 断言
2.断言 : 保证某一个条件一定是满足的。如果不满足就崩溃,而且会展示自定义的错误原因,只在开发时有效,Debug
3.NSAssert(self.finishedBlock !=nil,@"图片下载完成之后的回调 self.finishedBlock 不能为空");
网络
## % ****转义(****GET****请求拼接****URL****时使用)
- // 注意 : URL里面不能有空格或者中文.我们需要做%转义;
- // URLQueryAllowedCharacterSet : 转义查询字符串.一般在GET请求里面做.
loginURLString = [loginURLString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
##****保存沙盒
- 保存偏好设置
1. ///写入沙盒
2. - (void)saveInfos{
3. [[NSUserDefaults standardUserDefaults]setObject:self.usernameTextField.text forKey:@"username"];
4. [[NSUserDefaults standardUserDefaults]setObject:self.passwordTextField.text forKey:@"password"];
5. //3 非常重要: 立即同步,写入;强制写入
6. [[NSUserDefaults standardUserDefaults] synchronize];
7. }
8.
9. ///读取沙盒
10. - (void)readInfos{
11. self.usernameTextField.text = [[NSUserDefaults standardUserDefaults]objectForKey:@"username"];
12. self.passwordTextField.text = [[NSUserDefaults standardUserDefaults]objectForKey:@"password"];
13.}
- 保存到Document(存档)
1. //1.1 获取存储的路径
2.NSString *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
3.NSString *fiflePath = [docPath stringByAppendingPathComponent:@"data.zzz"];
4.//1.2 存什么数据
5.NSArray *array = @[@"李明",@"小红",@"小明"];
6.//1.3 存数据
7.//atomica 原子性: 数据安全的 99.9999
8.[array writeToFile:fiflePath atomically:YES];
解档
1.NSString *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
2.NSString *fiflePath = [docPath stringByAppendingPathComponent:@"data.zzz"];
3. //1. ------------------ writeToFile 读取数据---------------
4.//获取数据
5.NSArray *array = [NSArray arrayWithContentsOfFile:fiflePath];
网友评论