iOS
比上不足
这个作者很懒,什么都没留下…
展开
-
App Store 隐私政策网址(URL)
艾云声明我们注重对您个人隐私的保护。有时候我们需要某些信息才能为您提供您请求的服务,本隐私声明解释了这些情况下的数据收集和使用情况。本隐私声明适用于本网站的所有相关服务。如果您访问本网站、使用本网站的任何服务,那么您便接受了本隐私声明。用户信息的获取我们获取用户信息的主要目的在于向您提供一个顺畅、高效的购物流程,并致力于不断完善和提升您的购物体验。我们可能获取的用户信息类型包括:● 注册...原创 2019-07-19 15:36:27 · 419 阅读 · 0 评论 -
iOS静态库介绍
什么是库? 库是程序代码的集合,是共享程序代码的一种方式。根据源代码的公开情况,库可以分为2种类型: 开源库:公开源代码,能看到具体实现,比如SDWebImage、AFNetworking。闭源库:不公开源代码,是经过编译后的二进制文件,看不到具体实现,主要分为:静态库、动态库。静态库和动态库的存在形式: 静态库:.a 和 .framework 动态库:.dylib 和 .framework原创 2016-06-02 11:04:50 · 421 阅读 · 0 评论 -
网络及UIWebView 介绍
在计算机领域中,网络是信息传输、接收、共享的虚拟平台,通过它把各个点、面、体的信息连接到一起,从而实现这些资源的共享。互联网上是如何识别每一台计算机的 —— IP地址 IP地址被用来给Internet上的电脑一个编号,不容易记忆 人们更习惯使用域名访问网络上的计算机互联网上是如何访问资源的 —— 协议 网络中的计算机要能够互相顺利的通信,就必须讲同样的语言,这个语言就相当于协议互联网上是如何定原创 2016-05-28 23:15:44 · 576 阅读 · 0 评论 -
Mac OS下Web服务器配置
程序员如果能在本地搭建开发用的网络测试环境,能更有优势。Apache(Web)服务器 PHP支持MySQL数据库命令行会让你的Mac飞起来! 通过命令行直接可以使用诸如:C、C++、Python、Ruby、PHP、JavaScript、Perl等语言进行开发,Mac是程序员开发的利器,除了微软平台的程序员,其他语言的程序员都将Mac作为开发平台。 Mac系统中上很多程序员使用的工具和软件原创 2016-06-02 10:29:43 · 4629 阅读 · 0 评论 -
iOS通讯录介绍
自从 iOS6 以来,苹果严格限制了如何访问用户个人信息,比如通讯录信息。 当尝试访问用户个人信息时,会弹出一个对话框询问用户是否允许程序对个人数据进行访问,为了保证正常访问用户的通讯录,需要检查一下是否可以进行访问,也就是程序的授权状态。查询授权状态: 可以调用ABAddressBookGetAuthorizationStatus函数进行查询授权状态,返回值有以下几种情况: kABAutho原创 2016-06-01 10:02:47 · 853 阅读 · 0 评论 -
理解RESTful架构
REST全称是Representational State Transfer。REST = 表现层状态转化表现层 = “资源”(Resources)的”表现层”资源 = 网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在。要获取这个资源,访问其 URL即可。URL = 每一个资源的地址或独一无二的识别符我们把”资源”具体呈现出来的形原创 2016-05-26 18:37:10 · 462 阅读 · 0 评论 -
label型向下选择类似选择器效果 demo
因项目需要,修改网上 demo 后作出以上效果。 demo地址:若需要进行约束布局的,可对 view 进行约束后将数值传入此类的初始化方法,并将其放在 约束后的view 上。//贴出部分布局用代码: CGSize size = self.view1.frame.size; JSDropDownMenu *menu = [[JSDropDownMenu alloc] initWith原创 2016-04-20 18:28:17 · 516 阅读 · 0 评论 -
UIDynamic介绍
UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架 可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象 重力、弹性碰撞等现象。物理引擎的价值 广泛用于游戏开发,经典成功案例是“愤怒的小鸟”,让开发人员可以在远离物理学公式的情况下,实现炫酷的物理仿真效果,提高了游戏开发效率,产生更多优秀好玩的物理仿真游戏。知名的2D物理引擎:Box2d,Chipmunk要想使用UI原创 2016-05-29 10:43:13 · 485 阅读 · 0 评论 -
进程与线程介绍及多线程
什么是进程? 进程是指在系统中正在运行的一个应用程序。 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内。 比如同时打开QQ、Xcode,系统就会分别启动2个进程,通过“活动监视器”可以查看Mac系统中所开启的进程。什么是线程? 1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程),线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行,比如使用酷狗播原创 2016-05-28 16:38:04 · 398 阅读 · 0 评论 -
在iOS中使用钥匙串访问——sskeychain框架
iOS7.0.3版本加入iCloud钥匙串功能。 钥匙串功能可以协助记忆繁琐的个人账户信息,而且也可以在注册账户时生成一个很难破解的密码(Safari使用),之后Safari便可以自动输入这些信息。 iCloud钥匙串使用了256位AES 加密技术,用户的信息会非常安全 启用iCloud钥匙串。 设置——iCloud——钥匙串中开启这一功能; 输入iCloud登录密码; 设置四位数的iC原创 2016-06-02 11:28:45 · 1566 阅读 · 0 评论 -
Cookie介绍
Cookie由服务器端生成,发送给客户端,客户端将Cookie的key/value保存到某个目录下的文本文件内,如果客户端支持Cookie,下次请求同一网站时就可以Cookie直接发送给服务器。 另外,Cookie名称和值由服务器端开发自己定义。在应用中,Cookies最典型的就是判定注册用户是否已经登录,记录用户登录信息,简化下次登录的过程,另一个重要应用场合是“购物车”。iOS程序中Cooki原创 2016-06-02 12:31:41 · 583 阅读 · 0 评论 -
ios学习记录
git 上 clone 下来 pod install 出错使用 pod update --verbose输入框光标的颜色[[UITextField appearance] setTintColor:[UIColor blackColor]];下拉上部 frame 改变(void)scrollViewDidScroll:(UIScrollView *)scrollView{CGPoin...原创 2019-07-08 17:17:02 · 159 阅读 · 0 评论 -
iOS组织架构
MVC MVVM ViewModel DataController 模块细分 组件的深度优化 从而达到高聚合低耦合http://www.jianshu.com/p/5c49f3c7a0a4 猿题库: http://gracelancy.com/blog/2016/01/06/ape-ios-arch-design/原创 2017-08-23 10:59:56 · 588 阅读 · 0 评论 -
数据安全,MD5、SHA1加密字符串
本地数据存储的原则: 与安全相关的用户信息(明文->密文) 70年代有了巨大的变化.RSA 公钥(公开的), 私钥(各自不同),加密算法是公开的(穷举)原则: 任何应用程序都不能在本地直接存储与安全相关的用户信息; 任何应用程序在于服务器传递数据时,都不能直接传输与安全相关的用户信息。数据加密——MD5 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)原创 2016-06-03 13:45:00 · 1050 阅读 · 0 评论 -
iOS网络请求-NSURLConnection
iOS网络发送网络请求的步骤: 1、实例化URL(网络资源) 2、根据URL建立URLRequest(网络请求) - 默认为GET请求 - 对于POST请求,需要创建请求的数据体 3、利用URLConnection发送网络请求(建立连接) 4、获得结果常用类: NSURL:请求地址NSURLRequest:一个NSURLRequest对象就代表一个请求,它包含的原创 2016-06-03 13:17:29 · 791 阅读 · 0 评论 -
iOS GET和POST对比
GET和POST的主要区别表现在数据传递上: GET:在请求URL后面以?的形式跟上发给服务器的参数,多个参数之间用&隔开,比如http://ww.test.com/login?username=123&pwd=234&type=JSON,由于浏览器和服务器对URL长度有限制,因此在URL后面附带的参数是有限制的,通常不能超过1KBPOST:发给服务器的参数全部放在请求体中,理论上,POST传递的原创 2016-06-03 11:27:28 · 1139 阅读 · 0 评论 -
ASIHTTPRequest介绍
ASI 全称 ASIHTTPRequest,外号“HTTP终结者”,功能十分强大,基于底层的CFNetwork框架,运行效率很高,可惜作者早已停止更新,有一些潜在的BUG无人去解决,很多公司的旧项目里面都残留着它的身影,以前的很多iOS项目都是ASI + SBJson,会不会用ASI,可以算是检验是否为老牌iOS程序员的标准之一。ASI的github地址 https://github.com/po原创 2016-06-03 12:09:34 · 516 阅读 · 0 评论 -
URL与 HTTP,iOS中发送HTTP请求
什么是 URL? URL的全称是Uniform Resource Locator(统一资源定位符),通过1个URL,能找到互联网上唯一的1个资源。 URL就是资源的地址、位置,互联网上的每个资源都有一个唯一的URL。URL的基本格式 = 协议://主机地址/路径 协议:不同的协议,代表着不同的资源查找方式、资源传输方式 主机地址:存放资源的主机的IP地址(域名) 路径:资源在主机中的具体位原创 2016-06-03 10:41:43 · 2432 阅读 · 0 评论 -
Copy & MutableCopy
使用copy或mutableCopy方法可以创建一个对象的副本copy 需要实现NSCoppying协议 创建的是不可变副本(如NSString、NSArray、NSDictionary) mutableCopy 需要先实现NSMutableCopying协议 创建的是可变副本(如NSMutableString、NSMutableArray、NSMutableDictionary)Copy原创 2016-05-20 15:20:30 · 360 阅读 · 0 评论 -
GCD 其他用法
1、调度组(分组) 均完成后再通知 /** 应用场景: 开发的时候,有的时候出现多个网络请求都完成以后(每一个网络请求的事件长短不一定),再统一通知用户 */ // 实例化一个调度组 dispatch_group_t group = dispatch_group_create(); // 队列 dispatch_queue_t que原创 2016-05-28 16:02:23 · 391 阅读 · 0 评论 -
创建线程介绍及 GCD 简单使用
将耗时操作放到线程中进行: 1、NSThread // [NSThread currentThread] 获得当前线程,在开发中经常打印。 所有多线程技术都能使用这个方法 // number == 1 主线程 // number != 1 其他线程,子线程, 次线程 // 将耗时的操作放到子线程执行 // 会开辟一个子线程,并且在子线程执行longTi原创 2016-05-28 15:58:26 · 1614 阅读 · 0 评论 -
对比iOS网络组件:AFNetworking VS ASIHTTPRequest
简单的来讲,AFN是ASI的继任者,ASI 已停止更新。但是ASI性能全面优于 AFN,因为ASI基于CFNetwork框架开发,而AFN基于NSURL, ASI 更加底层。 相对而言,AFN 更加简单易用,建议逻辑简单的应用使用 AFN,而复杂的应用,相对成熟的团队可使用 ASI。之前已经介绍过 AFN,下面就示例下 ASI 如何使用: //使用 block回调监听网络请求(GET)原创 2015-12-30 11:41:21 · 409 阅读 · 0 评论 -
AFNetworking用法及网络监测
AFNetworking github : https://github.com/AFNetworking/AFNetworking Reachability github : https://github.com/tonymillion/Reachability先分别介绍一下 AFN 和 Reachability 如何进行网络监测#import "AFNetworkReachabilityMan原创 2015-11-19 21:16:29 · 674 阅读 · 0 评论 -
如何上传 App 到 App store 及 企业个人开发者账号区别
如何申请开发者账号:https://developer.apple.com/programs/enroll/ 步骤详情:http://www.niaogebiji.com/article-5703-1.html个人账号可发布 App 到 App store,企业账号不可。 但企业账号可以将 App安装到企业的任何iOS设备上,一般都利用网址或者二维码下载,无需apple审核,这就是所谓的In h原创 2015-12-10 22:16:31 · 4423 阅读 · 0 评论 -
SDWebImage清理缓存及其使用问题
清楚缓存按钮方法 ( 使用 alertController )github : https://github.com/rs/SDWebImage float cache = [[SDImageCache sharedImageCache] getSize] / 1024.0 / 1024.0; NSString *clearCacheName = cache >= 1 ? [NSStr原创 2015-11-17 19:21:54 · 562 阅读 · 0 评论 -
scrollView的contentOffset并不实际存在
详细理解记录 : http://objccn.io/issue-3-2/原创 2015-11-17 21:01:24 · 662 阅读 · 0 评论 -
oc swift 混编
记录 有空改 还没正式开始学习 swift 想导入 swift 的第三方 尝试创建工程 引入第三方 桥接 引用 参照: http://www.cocoachina.com/bbs/read.php?tid=204738 http://blog.csdn.net/fengsh998/article/details/34440159 http://blog.csdn.net/huang原创 2015-11-07 11:33:09 · 498 阅读 · 0 评论 -
fmdb简介与使用
当我们需要用到 sql 数据库时 通常使用 fmdb 框架 先贴出 github 地址 https://github.com/ccgus/fmdb什么是fmdb? fmdb是iOS平台的SQLite数据库框架 fmdb以OC的方式封装了SQLite的C语言API其优点: 使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码 对比苹果自带的Core Data框架,更加轻量级和灵活 提供了原创 2015-11-06 21:49:05 · 633 阅读 · 0 评论 -
AVPlayer介绍
AVPlayer介绍AVPlayer通常用来播放音乐,其内部已封装了流媒体功能 ,拿到网络url可以做到边缓存边播放的功能。 顺便提一下:AVAudioPlayer只能用本地的 url 来播放音乐 用 data 也需要把歌曲全部缓存后才可播放 做不到 边缓存边播放的效果// AVAudioPlayer两种方式AVAudioPlayer *audioPlayer=[[AVAudioPlayer原创 2015-11-06 16:48:07 · 5332 阅读 · 0 评论 -
UIVisualEffectView简单介绍
UIVisualEffectView通常可以用来创建模糊视图 也就是毛玻璃(blur)- (instancetype)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { //self.userInteractionEnabled = YES; //设原创 2015-11-06 17:16:33 · 828 阅读 · 0 评论 -
欢迎交流指正
欢迎交流指正原创 2015-11-07 13:58:39 · 775 阅读 · 0 评论 -
FontAwesomeKit
FontAwesomeKit是一个iOS icon字体库,当前支持Font-Awesome、Foundation icons、Zocial以及ionicons。 其字体即矢量图,可设置曲线动画渐变。 github:https://github.com/PrideChung/FontAwesomeKit支持 cocoapods pod ‘FontAwesomeKit’, ‘~> 2.1.0’详细原创 2016-01-18 11:19:40 · 960 阅读 · 0 评论 -
遍历方法比较
ForLoop For - in enumerateObjectsUsingBlock enumerateObjectsWithOptions enumerateKeysAndObjectsUsingBlock进行速度比较后: 当只是遍历一个数组的时候使用For-in会比较快速, 推荐使用For-in遍历数组; 通过Value查询index的时候, 面对大量的数组推荐使用 enumera原创 2016-05-28 15:01:17 · 590 阅读 · 0 评论 -
NSTimer倒计时
// 倒计时10秒,每秒更新一下Label的显示 // 计时器 /** 参数说明 1. 时间间隔,double 2. 监听时钟触发的对象 3. 调用方法 4. userInfo,可以是任意对象,通常传递nil 5. repeats:是否重复 */ self.counterLabel.text = @"2原创 2016-05-27 17:50:57 · 443 阅读 · 0 评论 -
工程配置
Info.plist中 网络连接: 添加 NSAppTransportSecurity类型Dictionary; 在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES。设置地理信息: NSLocationAlwaysUsageDescription [Dictionary] 您的描述 [string] NSLoc原创 2016-04-28 16:17:04 · 464 阅读 · 0 评论 -
抽屉效果整理
方法1:以容器视图控制器作为抽屉,并封装 tabbarController,添加手势实现滑动效果,并可添加模糊效果等。 稍后传上 demo 地址方法2:抽屉为 View,View添加两个手势,pan拖拽,tap点击,利用view.center移动。 网上有很多 demo可以借鉴: http://my.oschina.net/u/574245/blog/390283 http://blog.c原创 2016-01-13 00:05:28 · 515 阅读 · 0 评论 -
iCarousel类-分页滚动视图应用
iCarousel是一个类,它继承于UIView。 开源地址 https://github.com/nicklockwood/iCarousel先看下实际效果 两种类型 可滑动 demo:https://github.com/linjiu/funWithScan 其中热映电影部分用到此类iCarousel类的实现方式,先通过( iCarouselDataSource)协议方法确定需要显示视图原创 2015-11-17 13:10:02 · 4472 阅读 · 1 评论 -
Class介绍
iOS的开发语言objective-c,它的真实面目是它不是真正的面向对象语言,而抽象理解为此而已。其实它就是C+,有个公式可以很好地诠释那就是OC = C + Runtime;Class类型 到目前为止,我们已经知道了对应于方法的SEL数据类型,和SEL同样在Objective-C里面我们不仅仅可以使用对应于方法的SEL,对于类在Objective-C也为我们准备了类似的机制,Class类型转载 2016-01-08 15:56:39 · 462 阅读 · 0 评论 -
#define和预处理指令总结
宏即 替换!在预处理阶段展开,仅展开,不作任何类型检查。#空指令,没有任何效果#include 包含一个源代码文件#define 定义宏#undef 取消定义宏#if 如果条件为真,则编译下面的代码#elif 如果前面的#if不为真,则编译下面的代码#endif 结束一个#if...#elif条件编译块#ifdef 如果已经定义了某个宏,则编译下面的代码#ifndef 如果没有原创 2016-01-22 14:45:37 · 504 阅读 · 0 评论 -
iOS中的布局方法整理
一般来说分为绝对布局和相对布局。 绝对布局一般通过 frame 改变组件的位置和大小,相对布局是参考组件周围的元素来确定组件的大小或位置,相对布局即约束和周围组件的距离来布局的。可视化编程的相对布局一般用 al 来进行。简单介绍一下Autolayout: Autolayout是一种“自动布局”技术,专门用来布局UI界面的 Autolayout自iOS 6开始引入,由于Xcode 4的不给力,当原创 2016-01-20 00:46:31 · 3937 阅读 · 0 评论