
iOS
文章平均质量分 67
TF_LIU
一起努力,学习,进步,为了美好的明天!
展开
-
iOS之利用GCD信号量控制并发网络请求
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.youkuaiyun.com/Cloudox_/article/details/71107179引对计算机了解的都会知道信号量的作用,当我们多个线程要访问同一个资源的时候,往往会设置一个信号量,当信号量大于0的时候,新的线程可以去操作这个资源,操作时信号量-1,操...转载 2019-10-15 10:49:45 · 214 阅读 · 0 评论 -
iOS超全开源框架、项目和学习资料汇总--数据库、缓存处理、图像浏览、摄像照相视频音频篇
原文地址:http://www.cocoachina.com/ios/20170215/18692.htmliOS超全开源框架、项目和学习资料汇总(1)UI篇iOS超全开源框架、项目和学习资料汇总(2)动画篇iOS超全开源框架、项目和学习资料汇总(3)网络和Model篇数据库FMDB – sqlite的转载 2017-02-21 17:22:49 · 375 阅读 · 0 评论 -
总结
原文地址:http://www.cocoachina.com/ios/20170216/18699.html项目时间紧张了,要自己带孩子了,又有同事离职了,G20来了,写作兴致不高了。。。等等原因,就是不想写点什么,就想躺在沙发上,什么都不想动。今天2个版本终于提交App Store了,突然有好多时间可以挥霍,很是HAPPY。^-^1.cocoa pods转载 2017-02-21 17:21:15 · 718 阅读 · 0 评论 -
iOS学习之UITableView中Cell的操作
接着iOS学习之Table View的简单使用 这篇,这里主要讲UITableView 中的Cell的操作,包括标记、移动、删除、插入。 为了简单快捷,直接从原来那篇的代码开始,代码下载地址:http://download.youkuaiyun.com/detail/totogo2010/4361870要进行数据的操作了,把代码里的不可变数组改成可变的: NSArray *list -》NSMutableA转载 2017-01-23 15:07:00 · 255 阅读 · 0 评论 -
iOS NSDate
前言NSDate@interface NSDate : NSObject <NSCopying, NSSecureCoding>NSDate 用来表示公历的 GMT 时间(格林威治时间)。是独立与任何历法的,它只是时间相对于某个时间点的时间差;NSDate 是进行日历计算的基础。 NSDateComponents@interface NSDateComponents : NSObject <NS转载 2017-02-21 10:46:03 · 290 阅读 · 0 评论 -
iOS - OC NSDate
前言NSDate @interface NSDate : NSObject NSCopying, NSSecureCoding>NSDate 用来表示公历的 GMT 时间(格林威治时间)。是独立与任何历法的,它只是时间相对于某个时间点的时间差;NSDate 是进行日历计算的基础。NSDateComponents @interface NSDa转载 2017-02-21 10:44:09 · 296 阅读 · 0 评论 -
33 个 2017 年必须了解的 iOS 开源库
原文地址:http://www.cocoachina.com/ios/20170208/18647.html本文翻译自Medium,原作者为Pawe? Bia?ecki照片版权:(Unsplash/Markus Pe)你好,iOS 开发者们!我的名字叫 Pawe?,我是一个独立 iOS 开发者,并且是 Enter Universe 的作者。接转载 2017-02-08 14:15:27 · 263 阅读 · 0 评论 -
今日头条iOS客户端启动速度优化
原文地址:http://www.cocoachina.com/ios/20170208/18651.html应用启动时间,直接影响用户对一款应用的判断和使用体验。头条主app本身就包含非常多并且复杂度高的业务模块(如新闻、视频等),也接入了很多第三方的插件,这势必会拖慢应用的启动时间,本着精益求精的态度和对用户体验的追求,我们希望在业务扩张的同时最大程度的优化启动时转载 2017-02-08 14:07:32 · 444 阅读 · 0 评论 -
iOS动画详解
转载原文地址:http://www.cocoachina.com/ios/20170124/18617.html一、基础知识CAAnimation.png二、CABasicAnimation1. 动画的属性和解释2.属性值的解释repeatCount : 如果在swift中需要一直不断重复:Float.infinity转载 2017-02-07 13:24:54 · 271 阅读 · 0 评论 -
iOS10里的通知与推送
转载的原文:http://www.cocoachina.com/ios/20170126/18618.html通知和推送是一种东西么?iOS 10通知推送图1为通知,图2为推送也许有些同学现在才恍然大悟,今天我们就聊聊这个通知和推送吧。什么叫通知,什么叫推送?通知是iOS操作系统层面上的功能,说白了就是iPhone上的通知条,转载 2017-02-07 13:21:53 · 1226 阅读 · 0 评论 -
iOS开发证书打包详解--致小白
原文:http://www.jianshu.com/p/7dac093fb041iOS开发证书打包详解--致小白 最近上架一个项目到APPStore,却因为推送的问题,在苹果开发者中心折腾了一天的证书,今天来写写小总结,话不多说。相信很多资深的iOS开发工程师已经对证书的生成已经是信手拈来了,刚刚入门的小白可以过来围观,保证你没白看。1转载 2017-03-13 14:33:13 · 2981 阅读 · 1 评论 -
iOS平台下cookie的使用
原文页面:http://www.jianshu.com/p/65094611980ciOS平台下cookie的使用分享下最近项目用到的cookie的使用及管理首先,先介绍下iOS对cookie的操作的两个类:帖子来源于:http://blog.youkuaiyun.com/chun799/article/details/172069071. NSHTTPCookie 2.转载 2017-03-02 11:09:42 · 365 阅读 · 0 评论 -
iOS移动端架构的那些事
原链接:http://kuailejim.com/2016/05/04/iOS移动端架构的那些事/引言:一个app的初始阶段,必然是先满足各种业务需求。然后,经过多次版本迭代之后,先前的由于急于满足需求而导致的杂乱代码则会充斥整个项目。而此时,项目有了一定的规模,有了一定数量的开发人员,那么为了达到快速迭代版本的需求,则是需要有一个强大的架构来支撑。在开始谈转载 2017-04-18 17:47:41 · 316 阅读 · 0 评论 -
ios 数据结构和算法
链表1、链表查找插入移除2、栈(先进后出,尾部添加或删除元素)push(入栈)pop(出栈)peek(获取顶部值)3、队列(先进先出,尾部添加元素,头部删除元素)enqueue(入队)dequeue(出队)peek(获取顶部值)4、双链表(与链表区别在于,双向指针)查找插入移除5、双端队列(与栈和队列的区别,首尾都能添加元素,转载 2017-10-17 11:59:35 · 317 阅读 · 0 评论 -
Runtime全方位装逼指南
Runtime是什么?见名知意,其概念无非就是“因为 Objective-C 是一门动态语言,所以它需要一个运行时系统……这就是 Runtime 系统”云云。对博主这种菜鸟而言,Runtime 在实际开发中,其实就是一组C语言的函数。胡适说:“多研究些问题,少谈些主义”,云山雾罩的概念听多了总是容易头晕,接下来我们直接从代码入手学习 Runtime。1、由objc_msgSend说开去转载 2017-10-17 10:50:12 · 228 阅读 · 0 评论 -
深入理解RunLoop
RunLoop 的概念一般来讲,一个线程一次只能执行一个任务,执行完成后线程就会退出。如果我们需要一个机制,让线程能随时处理事件但并不退出,通常的代码逻辑是这样的:1234567function loop() { initialize(); do { var message = get_next_me转载 2017-10-25 13:38:56 · 292 阅读 · 0 评论 -
最全iOS数据存储方法介绍:FMDB,SQLite3 ,Core Data,Plist,Preference偏好设置,NSKeyedArchiver归档
转载请注明本文地址:http://www.jianshu.com/p/e88880be794f目的项目准备运用的Core Data进行本地数据存储,本来打算只写一下Core Data的,不过既然说到了数据存储,干脆来个数据存储基础大总结!本文将对以下几个模块进行叙述。沙盒PlistPreference偏好设置NSKeyedArchiver归档 / NSKey转载 2017-10-10 10:18:20 · 591 阅读 · 0 评论 -
多年iOS开发经验总结(一)
原文地址:http://www.cocoachina.com/ios/20170626/19616.html总结了几个月的东西终于能和大家分享了,不多说,直接看东西!1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabled = YES;2、隐藏某行cell- (CGFloat)tableVie转载 2017-06-26 16:51:31 · 5839 阅读 · 1 评论 -
iOS利用iTunesLookup检查更新
原文地址:http://ayjkdev.top/2016/04/06/update-in-app-with-itunes-lookup/iTunesLookupiTunesLookup其实是有Apple提供的查询应用信息的接口,我们可以利用它来进行App更新提示的功能实现。介绍AYCheckVersion我封装了一个用于提示更新的工具类AYC转载 2017-04-14 18:10:56 · 923 阅读 · 0 评论 -
IOS开发小技巧
IOS开发小技巧self.tableView.tableFooterView = [UIView new];2、修改UITableView自带的线条(颜色和位置)//ios8 设置UITableViewCell左侧默认15像素的空白if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) { [self.t原创 2017-01-16 14:19:48 · 357 阅读 · 0 评论 -
自定义UITableViewCell(registerNib: 与 registerClass: 的区别)
自定义UITableViewCell大致有两类方法: 使用nib 1、xib中指定cell的Class为自定义cell类型(注意不是设置File's Owner的class) 2、调用 tableView 的 registerNib:forCellReuseIdentifier:方法向数据源注册cell [objc] view转载 2017-01-10 15:55:48 · 210 阅读 · 0 评论 -
通过appearance设置app主题
//再plist文件中设置View controller-based status bar appearance 为 NO才能起效 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; //导航条上标题的颜色 NSDictionary *navbarTitle转载 2016-12-15 13:23:03 · 244 阅读 · 0 评论 -
3D_touch详解
在网上查了好多,验证了各种情形。主要讲3d touch在各种情形下的开发方法,开发主屏幕应用icon上的快捷选项标签(Home Screen Quick Actions),静态设置UIApplicationShortcutItem, 动态添加,修改UIApplicationShortcutItem,peek和pop的实现3DTouch开发准备 需要支持3DTouch的设备,如iphone6s或者原创 2016-08-11 18:08:56 · 335 阅读 · 0 评论 -
理解 iOS 的内存管理(转载唐巧)
远古时代的故事那些经历过手工管理内存(MRC)时代的人们,一定对 iOS 开发中的内存管理记忆犹新。那个时候大约是 2010 年,国内 iOS 开发刚刚兴起,tinyfool 大叔的大名已经如雷贯耳,而我还是一个默默无闻的刚毕业的小子。那个时候的 iOS 开发过程是这样的 我们先写好一段 iOS 的代码,然后屏住呼吸,开始运行它,不出所料,它崩溃了。在 MRC 时代,即使是最牛逼的 iOS 开发者转载 2016-08-23 16:02:36 · 339 阅读 · 0 评论 -
AVCaptureDevice属性
AVCaptureDevice.h,主要用来获取iphone一些关于相机设备的属性。AVCaptureDevice.h,必须要引入AVFoundation.framework包。前置和后置摄像头enum { AVCaptureDevicePositionBack = 1, AVCaptureDevicePositionFront = 2};typedef NSInteger转载 2016-08-09 16:10:45 · 453 阅读 · 0 评论 -
IOS字符串比较
NSString 比较字符串 NSString *value=@”123”;比较的方法:[value compare:(NSString *)];[value compare:(NSString *) options:(NSStringCompareOptions)];[value compare:(NSString *) options:(NSStringCompareOptions) r转载 2016-08-09 15:45:53 · 479 阅读 · 0 评论 -
iOS相机和麦克风是否可用监测
摄像头监测//获取摄像设备 AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];原创 2016-08-09 13:48:51 · 2649 阅读 · 0 评论 -
IOS中使用本地推送
本地通知是使用UILocalNotification类并不是系统的NSNotificationCenter通知中心。本地通知的作用和使用场景本地通知是由IOS系统管理的一个功能,比如某些后台应用做了某项活动需要我们去处理或者已经退出的应用在某个时间提醒我们唤起,如果注册了通知,系统就会在通知触发的时候给我们发信息,由此我们可以通过系统给我们的app添加通知用户的功能。例如闹钟类应用,按时标签类似原创 2016-08-18 15:56:35 · 292 阅读 · 0 评论 -
label的基本用法
一般使用 UILabel *label = [[UILabel alloc] init];//创建label label.text = @"lable text";//赋值内容 label.font = [UIFont systemFontOfSize:17];//设置字体大小 label.textColor = [UIColor redColor];//设置字体颜色原创 2016-08-02 12:53:27 · 6234 阅读 · 0 评论 -
IOS单元测试(—)
单元测试OCUnit(即XCTest测试) 这个就是苹果自己的测试框架GHUnit 这是一个可视化的测试框架,可以点击app来决定测试哪个方法,并且可以点击查看测试结果等。(后续详细叙述)OCMock 这个是模拟某个方法或者属性的返回值。(后续详细叙述)创建一个简单的单元测试新建项目: 最简单的单元测试一个简单的测试demo 该类继承自XCTestCase类,其中包含三个方法:原创 2016-08-05 16:51:40 · 675 阅读 · 0 评论 -
IOS8变化大全
运用扩展(Extension) 现在apple允许我们在app中添加一个新的target,用来提供一些扩展功能。比如在系统的通知中心中显示一个自己的widget,在某些应用的action中加入自己的操作,在分享按钮里加入自己的条目,更甚至于添加自定义的键盘等。app开发时的统一 在ios8中增加了size classes来进行布局并且使用uiviewcontroller来替代了uialertv原创 2016-08-03 18:53:33 · 228 阅读 · 0 评论 -
libimobiledevice在mac和Linux上面的使用
目前公司想通过树莓派linux系统和苹果手机连接获取一些手机信息,所有研究了一下libimobiledevice,这里写一下具体的过程和遇到的问题以及解决方法。在Mac上面安装libimobiledevice。 首先是安装工具和相关插件,可以通过mac上面的homebrew工具进行插件安装。安装homebrew必须先确定已经安装好xcode,github上homebrew地址:https://原创 2016-09-02 10:53:19 · 8598 阅读 · 0 评论 -
iOS面试题
OC 语言共94题 1、#import 跟#include、@class有什么区别?#import1)#import和#include都能完整地包含某个文件的内容,#import能防止同一个文件被包含多次,防止交叉编译2)@class仅仅是声明一个类名,并不会包含类的完整声明;@class还能解决循环依赖的问题3)#import 2、转载 2016-09-02 13:26:53 · 349 阅读 · 0 评论 -
+ load和+ initialize
如果你实现了 + load 方法,那么当类被加载时它会自动被调用。这个调用非常早。如果你实现了一个应用或框架的+ load,并且你的应用链接到这个框架上了,那么 + load 会在 main() 函数之前被调用。如果你在一个可加载的 bundle 中实现了+ load,那么它会在 bundle 加载的过程中被调用。+ initialize 方法的调用看起来会更合理,通常在它里面写代码比在转载 2016-12-15 10:12:41 · 220 阅读 · 0 评论 -
IOS滑动返回和自定义导航栏
IOS滑动返回的时候先创建基类navicontroller控制器,以后创建都继承它- (void)viewDidLoad { [superviewDidLoad]; // 获取系统自带滑动手势的target对象 id target =self.interactivePopGestureReco原创 2016-11-25 11:49:04 · 331 阅读 · 0 评论 -
AFNetworking post和get请求笔迹
- (instancetype)init { self = [superinit]; if (self) { self.operationManager = [AFHTTPSessionManagermanager]; } returnself;}- (void)GET:(NSSt原创 2016-12-12 16:12:38 · 322 阅读 · 0 评论 -
正确使用AFNetworking的SSL保证网络安全
AFNetworking, iOS开发中,以其优雅的结构设计和简便的调用方式,使其成为了最流行的网络开源库之一(另一个应该算是ASI了,但经久失修不维护的原因,已经不是首选)。 我们在大多数情况下,都能够正确使用AFNetworking的功能,但在网络安全日趋严峻的今天,加入SSL使用HTTPS已经成为了很多大中型网站的首选;这点在国外尤其流行,例如Google已经全站HTTPS。 本转载 2016-12-14 17:48:15 · 310 阅读 · 0 评论 -
系统自带照相
iOS 获取图片有三种方法:1. 直接调用摄像头拍照2. 从相册中选择3. 从图库中选择UIImagePickerController 是系统提供的用来获取图片和视频的接口;用UIImagePickerController 类来获取图片视频,大体分为以下几个步骤:1. 初始化UIImagePickerController 类;2. 设置UII原创 2016-09-19 18:23:26 · 248 阅读 · 0 评论 -
自定义拍照
关于iOS调用摄像机来获取照片,通常我们都会调用UIImagePickerController来调用系统提供的相机来拍照,这个控件非常好用。但是有时UIImagePickerController控件无法满足我们的需求,例如我们需要更加复杂的OverlayerView,这时候我们就要自己构造一个摄像机控件了。 0.AVCapture 媒体采集需要的几个对象:转载 2016-09-19 16:46:59 · 343 阅读 · 0 评论 -
获取手机信息(UIDevice、NSBundle、NSLocale)
iOS的APP的应用开发的过程中,有时为了bug跟踪或者获取用反馈的需要自动收集用户设备、系统信息、应用信息等等,这些信息方便开发者诊断问题,当然这些信息是用户的非隐私信息,是通过开发api可以获取到的。那么通过那些api可以获取这些信息呢,iOS的SDK中提供了UIDevice,NSBundle,NSLocale。UIDeviceUIDevice提供了多种属性、类函数及状态通知,转载 2016-09-06 10:21:16 · 215 阅读 · 0 评论