ios开发
文章平均质量分 67
少年仍需努力
目前刚刚起步。
展开
-
玩转IOS界面间传值
几种常见的页面传值方式:1.属性传值2.单例传值3.NSUserDefaults传值4.block传值1.单例传值和属性传值ViewController.h:#import <UIKit/UIKit.h>@interface ViewController : UIViewController@endViewController.m#import "ViewControlle...原创 2018-05-24 11:17:06 · 212 阅读 · 0 评论 -
AFNetworking(v3.1.0) 源码解析
https://juejin.im/entry/5bf626b2f265da614e2bb7dd一、架构AFNetworking 一共分为 5 个模块,2 个核心模块和 3 个辅助模块:Core NSURLSession(网络通信模块) AFURLSessionManager(封装 NSURLSession) AFHTTPSessionManager(继承自 AFURLSe...转载 2019-08-20 10:45:14 · 189 阅读 · 0 评论 -
iOS 多线程:『GCD』
https://www.jianshu.com/p/2d57c72016c6GCD 任务和队列同步执行(sync): 同步添加任务到指定的队列中,在添加的任务执行结束之前,会一直等待,直到队列里面的任务完成之后再继续执行。 只能在当前线程中执行任务,不具备开启新线程的能力。 异步执行(async): 异步添加任务到指定的队列中,它不会做任何等待,可以继续执行任务。 可以...转载 2019-08-20 10:35:14 · 138 阅读 · 0 评论 -
B站iOS校招面经
iOS:1.说说OC的修饰符,weak和assign的区别,为什么weak会释放后会为nil底层原理知道吗,copy修饰NSArray会拷贝吗strong和retain的区别,http://www.cocoachina.com/articles/224632.runtime除了消息转发还知道啥,用过没有,通过一个变量生成一个类?我做一个动画怎么获取它每时每刻的高度说一说iO...原创 2019-08-19 19:44:01 · 612 阅读 · 0 评论 -
iOS Runloop面试
https://www.jianshu.com/p/de752066d0ad一、基本概念1、runloop是什么? ———— O用一个字来形容runloop的话,runloop就是————圈。或者说是英文字母——O。这样的形象比喻,想要说明的是runloop的特性——runloop是一个事件循环对象。一般来讲,一个线程一次只能执行一个任务,执行完成后线程就会退出。如果我们需...原创 2019-08-19 12:05:00 · 385 阅读 · 0 评论 -
iOS程序执行顺序和UIViewController 的生命周期
https://www.jianshu.com/p/d60b388b19f5UIViewController的 生命周期#pragma mark --- life circle// 非storyBoard(xib或非xib)都走这个方法- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle...原创 2019-08-19 11:27:10 · 158 阅读 · 0 评论 -
项目中没有Podfile,创建一个Podfile文件
这里我以pod SnapKit为例子1. 首先进入你要pod项目的目录 cd 工程目录2. 进来之后创建 Podfile touch Podfile3. 然后 ls 就可以看的刚创建的Podfile4. 使用vim编辑Podfile文件 进入如下页面 然后使用vim 编辑命令 i ( insert的意思)编辑完后按 es...原创 2019-01-28 17:43:16 · 1423 阅读 · 0 评论 -
屏幕适配 autolayout Compact,Regular,Any 解析
项目中遇到了屏幕适配问题,,比如手机和ipad字体大小约束,设置了好了手机的,ipad的上的又不对,诸如此类的问题很多。上面原本的Font栏就是设置的手机屏幕的字体大小wRegular | hRegular: 就是设置的ipad下字体大小同理,其他约束也可以分手机和ipad比如:随便一个约束双击进去就可以设置不同屏幕下的约束。原理:...原创 2019-01-16 15:50:36 · 1099 阅读 · 0 评论 -
swift 4.0 代码设置启动后的第一个页面
修改项目配置文件 1、选中项目文件->TARGETS->General; 2、清空Deployment Info栏目的 Main Interface项。 修改AppDelegate.swift文件 1、选中AppDelegate.swift文件; 2、重写application didFinishLaunchin...原创 2018-12-26 12:20:52 · 2047 阅读 · 0 评论 -
探究 UIViewController 生命周期—swift
loadView()loadView() 即加载控制器管理的 view。 不能直接手动调用该方法;当 view 被请求却为 nil 时,该方法加载并创建 view。 若控制器有关联的 Nib 文件,该方法会从 Nib 文件中加载 view;如果没有,则创建空白 UIView 对象。 如果使用 Interface Builder 创建 view,则务必不要重写该方法。 可以使用该方法手动...转载 2018-12-26 15:11:10 · 928 阅读 · 0 评论