- 博客(64)
- 收藏
- 关注
原创 iOS视频 ZFPlayer使用
ZFPlayer地址列表页点击视频播放按钮 [self.playerView resetToPlayNewVideo:self.playerModel];初始化 _playerView = [ZFPlayerView sharedPlayerView]; _playerView.delegate = self; // 当cell播放视频由全屏
2017-08-22 15:44:39
19470
原创 欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-03-16 09:47:20
332
转载 动态语言或动态编程语言
Dynamic Programming Language (动态语言或动态编程语言) 动态语言,准确地说,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。未来属于动态语言在今天这
2014-11-26 13:58:31
1951
转载 【iOS开发】iOS7 兼容及一部分细节
iOS开发】iOS7 兼容及部分细节1:statusBar字体为白色在plist里面设置View controller-based status bar appearance 为 NO;设置statusBarStyle 为 UIStatusBarStyleLightContent2:设置statusBar和navigationbar为一体[nav.navig
2014-01-05 20:48:06
510
转载 开发者必看:iOS7 SDK新特性一览
WWDC 2013 keynote落下帷幕,新的iOS开发旅程也由此开启。在iOS7界面重大变革的背后,开发者们需要知道的又有哪些呢。同去年一样,我会先简单纵览地介绍iOS7中我个人认为开发者需要着重关注和学习的内容,之后再陆续对自己感兴趣章节进行探索,希望对国内开发者有所帮助。全新UI设计iOS7最大的变化莫过于UI设计,也许你会说UI设计“这是设计师大大
2014-01-05 20:43:07
648
转载 iOS7将使开发者陷入两难?
Marco Arment 曾在一周前对开发者在iOS 7来临后的“困境”进行了阐述。他提到现有 Apps 支持 iOS 7 并不需要花太多功夫,但是它们在 iOS 7 的界面下会显得很“古老”。这会使开发者陷入两难局面iOS 7 已经出来一周,但国内国外关于它的讨论远远没有停止。设计风格大变是 iOS 7 的显著特点,而它对第三方开发者的影响很是值得玩味。
2014-01-05 20:30:40
476
转载 Core Data
7.1. 什么是Core Data Core Data是一个Cocoa框架,用于为管理对象图提供基础实现,以及为多种文件格式的持久化提供支持。管理对象图包含的工作如撤销(undo)和重做(redo)、有效性检查、以及保证对象关系的完整性等。对象的持久化意味着Core Data可以将模型对象保存到持久化存储中,并在需要的时候将它们取出。Core Data应用程序的持久化存储
2013-10-25 11:11:37
511
转载 kvc kvo 学习笔记
kvc 就是一种通过字符串去间接操作对象属性的机制, 访问一个对象属性我们可以 person.age 也可以通过kvc的方式 [person valueForKey:@"age"]keypath 就是属性链式访问 如 person.address.street 有点象java里面的pojo ognl表达式子类的假如给出的字符串没有对象的属性 会访问valueForUn
2013-10-25 10:58:58
583
转载 fmdb 使用简单教程
转自http://blog.devtang.com/blog/2012/04/22/use-fmdb/ 还不错。过后我会自己写的放出来在iOS开发中使用FMDBAPR 22ND, 2012前言SQLite (http://www.sqlite.org/docs.html) 是一个轻量级的关系数据库。iOS SDK很早就支持了SQLite,在使用时,只需要加入
2013-10-25 10:49:03
678
转载 IOS多线程读写Sqlite问题解决
现在ios里使用的数据库一般都是Sqlite,但是使用Sqlite有个不太好的地方就是在多线程的时候,会出现问题,sqlite只能打开一个读或者写连结。这样的话多线程就会碰到资源占用的问题。 最开始是使用FMDB,FMDB的早期版本不能解决这个问题,后来FMDB更新了,新版本的FMDB能够很好的解决这个多线程使用Sqlite 。FMDB github网址 https://
2013-10-25 10:39:22
590
转载 iOS开发如何实现消息推送机制
最近两天在研究ios的消息推送机制。研究这个东西,还是充满兴趣的,今天给大家详细的介绍一下ios这个推送机制。 Push的原理: Push 的工作机制可以简单的概括为下图 图中,Provider是指某个iPhone软件的Push服务器,这篇文章我将使用.net作为Provider。 APNS 是Apple Push Notification Service(Apple Pu
2013-10-24 21:51:21
570
原创 iOS 面试进行时
1. C语言里的数组与OC数组的区别OC 数组是一个对象,有大量的方法,c 没有都需要自己写C数组删除是需要后面往前移动,oc 数组自动处理 2.tcp是顺序的,可靠的,面向连接的, udp 是无序的,不可靠的,无连接的,吞吐量达的7.常见的点击手势有哪几种UIPinchGuesture, UITapGuesture, UISwipGuesture,
2013-10-24 20:07:04
2401
转载 堆和栈 的 区别
队列 队头删除,队尾插入.堆栈 只能在一端操作,先进后出(栈只是使用堆的一种方法)堆 是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分配内存, (堆没有先进后出这个特性)堆和栈都是存放临时数据的地方一、预备知识―程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)― 由编译器自动分配
2013-10-24 13:45:02
572
原创 下拉刷新 * 上拉加载
第一步第三方库 EGOTableViewPullRefresh 必须的导的添加QuartzCore.framework组建导包#import "EGORefreshTableHeaderView.h" 遵守协议第二步 必要的声明EGORefreshTableHeaderView *_refreshView; BOOL _isLoading;
2013-10-23 20:56:15
717
原创 代理回调
代理回调假设类A委托 类B是A即将设置的代理B #impor tA以后 在B中生成A的对象a,a在B中把B设置为代理(此时委托方 和 代理方形成了)在B中,a 可以调用类A暴露出来的接口Api在A中delegate 调用B所遵守的协议方法(A中delegate=B A中的协议方法在B中实现的 表面上再A中调用 ,实质是在B中进行)从
2013-10-23 14:05:28
591
转载 ios中的代理与回调函数
一、回调函数:class A{f1();f2();B *b;//A中定义B的对象为成员变量}A:f1(){b->f3(&f2);//调用B中的函数f3,并把f2的地传给B;}class B{void* func;f3();f4();}B:f3(){func = &f2;//B中保存A中传过来的f2的地址;}当函数f4被调用时:f4(){func();//回调执行A中的f2;}二、利用回调函数代替i
2013-10-23 10:46:47
877
转载 同步调用 回调 异步调用
1.什么是回调?软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;异步调用是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户
2013-10-23 10:26:38
900
转载 GCD ios多线程 runloop
一.线程概述二.创建线程1.使用NSThread2.使用NSObject3.POSIX Thread三.多线程进阶1.NSOperation & NSOperationQueue2.GCD四.进程间通信1.和主线程的通信2.任意线程间的通信五.RunLoop一.线程概述有些程序是一条直线,起点到终点
2013-10-21 20:14:41
787
转载 IOS block dispatch_queue
研究了3天的block使用,今天终于写出了自己的第一个block接口请求,完整的接口调用和定义,首先在interface中用dispatch——queue来处理请求,然后通过block进行回调,再在调用的时候处理block回调回来的数据就行了,非常的简洁,代码量减少很多,且效率极高,嘿嘿。第一步定义要回调的blocktypedef void (^getCom
2013-10-21 19:43:25
486
转载 socket编程 详解
对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1. 什么是TCP/IP、UDP?2. Socket在哪里呢?3. Socket是什么呢?4. 你会使用它们吗?什么是TCP/IP、UDP? TCP/IP(Trans
2013-10-21 19:34:41
506
转载 使用数据库做缓存
1.首先建表:在SQCWorld这个项目中,需要的数据有首页展示和详细页数据,目前就这两个了。2.首页展示的字段主要有:标题,图片,ID_main,创建时间;(ID_main的作用是筛选详细页的信息,作为外键)3.详细页的字段主要有:文字,图片,ID_main,创建时间;4.根据需要可以得出结论:建两个表,其实就是和parse的表一样了,呵呵。5.第一步指定一个数据
2013-10-21 19:29:59
618
转载 在iOS开发中使用FMDB
SQLite (http://www.sqlite.org/docs.html) 是一个轻量级的关系数据库。iOS SDK很早就支持了SQLite,在使用时,只需要加入 libsqlite3.dylib 依赖以及引入 sqlite3.h 头文件即可。但是,原生的SQLite API在使用上相当不友好,在使用时,非常不便。于是,开源社区中就出现了一系列将SQLite API进行封装的库,而FMDB
2013-10-21 19:24:08
571
转载 SDWebImage使用,图片加载和缓存
SDWebImage托管在github上。https://github.com/rs/SDWebImage这个类库提供一个UIImageView类别以支持加载来自网络的远程图片。具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征。使用示范的代码:UITableView使用UIImageView+WebCache类(基本应用,UIImageView的一个category
2013-10-21 19:18:08
436
转载 缓存与程序内存分布
今天看了一篇文章,关于CPU Cache的7个示例科普CPU Cache突然发现原来自己不知道的东西有这么多,翻查了一些资料,学到了好多东西,所以赶紧记下来,以后忘了的时候翻出来看看作为程序员,有必要知道cpu是怎么拿到数据然后处理数据的,优化程序很多都是从这一点做起,这也是我一直想知道的,之前学计算机组成原理和操作系统,没怎么认真学,现在才发现原来这些都是很重要的基础课,如果一个
2013-10-21 19:07:16
874
转载 Blocks Programming Topics
最近的工作中比较频繁的用到了Block,不在是以前当做函数指针的替代或者某些API只有Blocks形式的接口才不得已用之了,发现自己对其了解还是太浅,特别是变量的生存期,按惯例还是翻译官方文档,原文链接。 介绍Block 对象是C语言层面的语法,也是一个运行时特性. 它们很类似与标准的C函数,但是除了可执行的代码,它们还包含了与自动(栈)或托管(堆)的内存
2013-10-21 17:05:32
570
转载 iOS Block学习
iOS4已经直接支持blocks,很有必要学习一下。在ios中,将blocks当成对象来处理,它封装了一段代码,这段代码可以在任何时候执行。Blocks可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。它和传统的函数指针很类似,但是有区别:blocks是inline的,并且它对局部变量是只读的。Blocks的定义: [cpp]
2013-10-21 17:00:03
406
转载 iOS基础面试题(一)
iOS面试题系列:iOS如何面试iOS基础面试题(二)iOS基础面试题(三)iOS基础面试题(四)iOS进阶面试题----Block部分随着iOS平台开发的职位的增加,笔试、面试也越来越有“套路”,这里我总结了一些面试题,多数是Objective-C的基础知识,适合于面试新人,答案是我自己答的,不准确的地方,欢迎指出。1. Obj
2013-10-21 11:05:44
478
转载 iOS的基本的设计模式
不管创建iOS的哪种类型的应用程序,有几个基本的设计模式和技术在写代码前必须你必须知道。在IOS,系统框架为应用程序提供了最重要的基础设施,在大多数情况下,只能通过系统框架来调用底层的硬件。反过来,框架也使用了很多特别的设计模式,开发应用程序前,我们是假设你很熟悉这些设计模式的。要知道系统怎么支持应用程序的,那就得先理解这些设计模式,这非常重要。你必须知道的最重要的几种设计模式:M
2013-10-18 21:08:39
459
转载 线程同步--线程间通信
一、线程同步 线程的同步方法跟其他系统下类似,我们可以用原子操作,可以用 mutex,lock 等。 iOS 的原子操作函数是以 OSAtomic 开头的,比如:OSAtomicAdd32, OSAtomicOr32 等等。这些函数可以直接使用,因为它 们是原子操作。 iOS 中的 mutex 对应的是 NSLock,它遵循 NSLooking 协议,我们可以使用 lock
2013-10-18 20:54:24
568
转载 iOS之线程间通信
Cocoa为iOS线程间通信提供2种方式,1种是performSelector,另1种是Port。 先说第1种,performSelector,有以下几种: 第2种为NSMachPort方式。NSPort有3个子类,NSSocketPort、NSMessagePort、NSMachPort,但在iOS下只有NSMachPort可用。 使用的方
2013-10-18 20:47:42
678
转载 关于kvc
"code" class="cpp">KVC概述 KVC是KeyValue Coding的简称,它是一种可以直接通过字符串的名字(key)来访问类属性的机制。而不是通过调用Setter、Getter方法访问。 当使用KVO、Core Data、CocoaBindings、AppleScript(Mac支持)时,KVC是关键技术。 使用KVC、KVO的优势 通
2013-10-18 20:24:17
716
转载 IOS单例模式及单例模式的优缺点
单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。#import @interface Singleton : NSObject +(Singleton *) getInstance;@end @implementation Singleton+(Singleton *) getInstan
2013-10-18 19:54:23
1683
转载 IOS动画总结
+ (void)beginAnimations:(NSString *)animationID context:(void *)context; // 开始准备动画+ (void)commitAnimations; // 运行动画// 没有get方法,下面的set在快外调用无效+ (void)setAnimationDelegate:(id)delegate; // 委托default =
2013-10-17 17:32:24
453
转载 C 中int float。。。double类型 占位符
printf的%f说明符的确既可以输出float型又可以输出double型。 根据"默认参数提升"规则(在printf这样的函数的可变参数列表中 ,不论作用域内有没有原型,都适用这一规则)float型会被提升为double型。因此printf()只会看到双精度数。参见问题15.2。对于scanf,情况就完全不同了,它接受指针,这里没有类似的类型提升。(通过指针)向float存储和向doub
2013-10-13 15:19:45
9657
转载 去掉UITableView中Group样式cell的边框目前最完美方法
UITableView是iOS开发中最常用的元素,在平常用的iPhone App中大部分都用到了UITableView,所以你应该知道她的强大了。由于刚开始做iOS的项目,遇到问题比较多,在这里记录一下。 需求很简单,就是在一个UITableView里面实现一个不一样的UITableViewCell,如下图里的“切换账号”按钮: 正常情况下grouped样式(UITableViewStyleG
2013-10-12 11:09:12
1856
转载 iOS开发 frame 与 bounds 的区别与关系
frame和bounds是UIView中的两个属性(property)。frame指的是:该view在父view坐标系统中的位置和大小。(参照点是父亲的坐标系统)bounds指的是:该view在本身坐标系统中 的位置和大小。(参照点是本身坐标系统)-(CGRect)frame{ return CGRectMake(self.frame.origin.x,self.fra
2013-10-12 10:28:43
431
转载 iOS学习笔记(2)— UIView用户事件响应
UIView除了负责展示内容给用户外还负责响应用户事件。本章主要介绍UIView用户交互相关的属性和方法。 1、交互相关的属性 userInteractionEnabled 默认是YES ,如果设置为NO则不响应用户事件,并且把当前控件从事件队列中删除。也就是说设置了userInterfaceEnabled属性的视图会打断响应者链导致该view的subview都无法响应事件。
2013-10-11 10:52:42
1011
转载 CLLocation学习
1:CLLocationDegrees 经纬度CLLocationDegrees latitude = theLocation.coordinate.latitude;CLLocationCoordinate2D coordinate = theLocation.coordinateCLLocationDegrees longitude = theLocatio
2013-10-10 14:36:51
606
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人