iOS Object-C基础整理

Posted CrazyApes

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS Object-C基础整理相关的知识,希望对你有一定的参考价值。

新手入门
请多指教

本文:https://www.jianshu.com/p/f113b8c2150e

文章目录

前言

虽然这些东西都比较基础,说实话,算是有点老旧了,但是记不住啊,只好再整理整理。
本文仅以简单示例,详情以后再慢慢整理。

UIView 隐藏显示

Button.hidden = YES;
Button.hidden = NO;

Layer 简单动画

// x 轴缩放
CABasicAnimation *scaleX = [CABasicAnimation animationWithKeyPath:@"transform.scale.x"];

scaleX.duration=2;

scaleX.fromValue = [NSNumber numberWithFloat:0];

scaleX.toValue = [NSNumber numberWithFloat:1];

scaleX.removedOnCompletion = YES;

 [view.layer addAnimation:scaleX forKey:@"scaleX"];

JSON转换

+ (NSString *)convertToJsonData:(NSDictionary *) dict 
    NSError *error;
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict 
                                        options:NSJSONWritingSortedKeys 
                                        error:&error];
    NSString *jsonString;
    if (!jsonData) 
        NSLog(@"%@",error);
     else 
        jsonString = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];
    
    return jsonString;

字体加粗

// 加粗
[UILabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:15]];

// 加粗斜体
[UILabel setFont:[UIFont fontWithName:@"Helvetica-BoldOblique" size:15]];

布局约束

[view mas_makeConstraints:^(MASConstraintMaker *make) 
    make.top.bottom.mas_equalTo(self.mas_top).with.offset(10); // 偏移
    make.right.bottom.mas_equalTo(self.mas_right).with.offset(-10); // 右偏移
    make.center.mas_equalTo(self.mas_center);
    // 乘数百分比倍数
    make.height.mas_equalTo(view.mas_width).multipliedBy(3);
 
    // make.width.height.mas_equalTo(1000).multipliedBy(0.2); // 百分比 

    // 除数百分比 dividedBy(0.2) == multipliedBy(5)
    make.width.height.mas_equalTo(1000).dividedBy(0.2);  
    make.width.height.lessThanOrEqualTo(self);
dividedBy
  ];

UIView 加边框

view.layer.masksToBounds = YES;
view.layer.borderColor = [[UIColor blackColor] CGColor];
view.layer.borderWidth = 1.0;

分割字符串

// 逗号分割字符串
NSArray *listArr = [listStr componentsSeparatedByString:@","];

反转数组

NSArray *reverList = [[arr reverseObjectEnumerator] allObjects];

UIViewController的生命周期

  • 1.alloc
    创建对象,分配空间
  • 2.init ( initWithNibName | initWithCoder )
    初始化对象,初始化数据
  • 3.awakeFromNib
    所有视图的outlet和action已经连接,但还没有被确定。
  • 4.loadView
    完成一些关键view的初始化工作,加载view。
  • 5.viewDidLoad
    载入完成,可以进行自定义数据以及动态创建其他控件
  • 6.viewWillAppear
    视图将出现在屏幕之前
  • 7.viewWillLayoutSubviews
    将要对子视图进行调整
  • 8.viewDidLayoutSubviews
    对子视图进行调整完毕
  • 9.viewDidAppear
    视图已在屏幕上渲染完成
  • 10.viewWillDisappear
    视图将被从屏幕上移除
  • 11.viewDidDisappear
    视图已经被从屏幕上移除
  • 12.dealloc
    视图被销毁,需要对你在init和viewDidLoad中创建的对象进行释放
  • 13.didReceiveMemoryWarning
    内存警告

延迟执行

不止下方一种哈,还有很多,比如NSTimer。
还有待研究。

// 延迟2s执行 refreshData 方法
[self performSelector:@selector(refreshData) withObject:nil afterDelay:2.0];

// 取消执行 refreshData 方法
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(refreshData) object:nil];

// 取消执行所有延迟类方法
[NSObject cancelPreviousPerformRequestsWithTarget:self];

以上是关于iOS Object-C基础整理的主要内容,如果未能解决你的问题,请参考以下文章

IOS开发基础Object-C(12)—单例模式

Object-C基础—— 函数

Object-C基础——类与对象

Object-C iOS纯代码布局 一堆代码可以放这里!

iOS系统架构和Object-C基本数据类型

是否可以为 iOS 编写应用程序并将 object-c 代码移动到 Android 中?