4 tongwei117

尚未进行身份认证

暂无相关简介

等级
TA的排名 1w+

关闭window时终止程序

关闭window时候,终止应用程序大概分为两种情况,如下/**保证当你关闭最后一个window或者关闭应用唯一的一个window时候应用自动退出*/-(BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication*)sender{returnYES;}//监听方法[[NSNotific...

2019-01-17 15:22:15

iOS 去掉导航条和tabbar线条

去掉导航条底部线条[self.navigationController.navigationBarsetBackgroundImage:[[UIImagealloc]init]forBarMetrics:UIBarMetricsDefault];[self.navigationController.navigationBarsetShadowImage:[[UIImagea...

2018-10-17 08:59:59

TestFlight测试

内部测试:https://www.jianshu.com/p/4be185e4069c外部测试:https://www.jianshu.com/p/c6411fbe5781

2018-09-19 10:37:14

iOS 获取视频图片

/***截取指定时间的视频缩略图**@paramtimeBySecond时间点,单位:s*/-(UIImage*)thumbnailImageRequestWithVideoUrl:(NSURL*)videoUrlandTime:(CGFloat)timeBySecond{AVURLAsset*urlAsset=[AVURLAssetasset...

2018-09-19 10:11:55

打开mac系统偏好设置

[[NSWorkspacesharedWorkspace]openFile:@"/System/Library/PreferencePanes/UniversalAccessPref.prefPane"];打开的是偏好设置的万能辅助的界面如果你想打开,其他的界面可以替换后面的UniversalAccessPref.prefPane。想查找其他的pane名字,可以先用[[NSWorksp...

2018-09-19 09:36:02

(设置/获取)系统声音

-(AudioDeviceID)getDefaultOutputDeviceID{AudioDeviceIDoutputDeviceID=kAudioObjectUnknown;//getoutputdevicedeviceOSStatusstatus=noErr;AudioObjectPropertyAddressprop...

2018-09-19 09:26:14

NSArray去重过滤

两个NSArray去重过滤避免大量使用for循环//取两个数组交集的时候,可以先将NSArray转换成NSMutableSet,再通过取二者交集即可,但是需要注意一点是数组中的元素最好复写一下isEqual和hash方法。保证取交集后的结果是正确的NSArray*arr=@[@"12-11",@"12-11",@"12-11",@"12-12",@"12-13"...

2018-09-18 16:20:06

判断代码在哪个队列中运行

-(void)viewDidLoad{[superviewDidLoad];NSLog(@"%d",[selfisMainQueue]);//1dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH,0),^{NSLo...

2018-09-18 14:41:17

copy 关键字

为什么要写这篇博客,面试的时候有可能会遇到这样的面试题:用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?首先搞懂copy十分重要;是什么首先copy和mutableCopy是方法,是NSObject内定义的方法。还有对应的类方法copyWithZone:(struct...

2018-09-17 14:20:05

GCD dispatch_semaphore(信号量)

需求:假设有两个空置资源,同一时间却有三个线程要去进行访问,如何处理???或者异步并发下载大量图片,每个下载都会开辟一个新线程,可是我们担心开辟太多线程肯定cpu吃不消,那么我们这里也可以用信号量控制一下最大开辟线程数。定义信号量:就是一种可用来控制访问资源的数量的标识,设定了一个信号量,在线程访问之前,加上信号量的处理,则可告知系统按照我们指定的信号量数量来执行多个线程。其...

2018-09-04 14:35:08

GCD dispatch_group

关于dispatch_group的概念以及几种场景下的使用关于dispatch_group把一组任务提交到队列中,这些队列可以不相关,然后监听这组任务完成的事件。最常见的几个方法:1、dispatch_group_create创建一个调度任务组2、dispatch_group_async把一个任务异步提交到任务组里3、dispatch_group_ente...

2018-09-04 14:23:29

NavigationController

NavigationController结构图UITabBarController和NavigationController结构类似

2018-08-08 15:33:23

mac source tree gitignore

开发使用CocoaPods开发项目,很容易提交一些不需要的代码到仓库,在SourceTree里添加忽略文件这块老弄错,这次专门博客一下忽略步骤如下:在SourceTree的偏好编辑里面添加*~.DS_Store*.xcuserstate*.xcworkspacexcuserdata*.lockPods如果添加了gitignore还是不起作用,则需要把缓...

2018-08-06 15:01:09

swift KVC函数调用

//1定义模型属性的时候,如果是对象,通常都是可选的(-在需要的时候创建-避免写构造函数,可以简化代码)//2使用kvc方法之前,应该调用super.init保证对象实例化完成classPerson:NSObject{//name属性是可选的,在oc中很多的属性都是在需要的时候创建的//例如:vc.view/tableviewcell.textLabel等/...

2018-07-25 10:41:05

swift重载构造函数

在使用swift重载构造函数的时候,需要注意。//1构造函数的目的:给自己的属性分配空间并且设置初始值//2调用父类构造函数之前,需要先给本类的属性设置初始值//3调用父类的'构造函数',给父类的属性分配空间设置初始值NSObject没有属性,只有一个成员变量'isa'//4如果重载了构造函数,并且没有实现父类init方法,系统不再提供init()构造函数(默认是会有...

2018-07-25 10:27:11

OC开发常用宏

//判断机型#defineIS_IPAD(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)#defineIS_IPHONE(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPhone)#definekSCREEN_MAX_LENGTH(MAX(kScreenWidth,...

2018-07-16 09:49:35

一次完整的http请求过程

一个完整的HTTP过程包括建立连接、数据传输、断开连接等七个步骤。下面详细介绍一下每一步TCP建立连接HTTP协议是基于TCP协议来实现的,因此首先就是要通过TCP三次握手与服务器端建立连接,一般HTTP默认的端口号为80;浏览器发送请求命令在与服务器建立连接后,Web浏览器会想服务器发送请求命令浏览器发送请求头消息在浏览器发送请求命令后,还会发送一些其它信息,最后以...

2018-05-20 09:22:07

cocoa 处理多个网络请求

场景:在开发中很多时候在同一个界面中会有多个网络请求,而且要在这几个网络请求成功返回的时候再做下一步操作。分析一种是对个网络请求结束后统一操作,在一个界面需要同时请求多种数据。比如列表数据,广告数据等,全部请求到再一起刷新界面。多个请求顺序执行,下一个请求依赖于上一个请求的结果。这些要求对呀普通的操作是可以做到并发控制和依赖操作。但是对于网络请求这种需要时间的请求来说,...

2018-05-16 16:42:16

swift-映射添加控制器

在使用swift中tabbarcontroller的时候,使用映射去添加。Bundle扩展importFoundationextensionBundle{//计算型属性类似于函数,没有参数,有返回值varnamespace:String{returninfoDictionary?["CFBundleName"]as?String...

2018-04-26 17:23:30

swift UICollectionView

swift创建UICollectionViewCollectionVCimportUIKitclassCollectionVC:UIViewController{//定义blockvarcomBack:(()->())?privatevarlistArray=[String]()privatevarcoll...

2018-04-12 17:06:36

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!