- 博客(27)
- 收藏
- 关注
原创 OC的一些风格注意点
1.条件语句推荐:if (!error) { return success;}不推荐:if (!error) return success;和if (!error) return success;2.nil和BOOL检查推荐使用:if (nil == myValue) { ...为了避免这些奇怪的问题,可以用感叹号来作
2015-12-28 16:50:42 514 1
原创 iOS学习和开发的一些感触
接触iOS两年半快接近三年了,但是一直没有自己的blog,这一点是我的遗憾。可是,现在亡羊补牢,为时不晚。之前的iOS学习和开发中,都是看着别的技术大牛的博客,表示大牛前辈的文笔和技术能力都是杠杠的,这也是我一直不敢写博客的一个方面,因为看到大牛前辈们的博客文笔和见解之深,深表为我的文笔感到无比的痛心。譬如,喵大神和唐巧前辈的博客是我看得最多的了,还有就是念茜iOS女神的逆向工程的blog了,她的逆
2015-11-29 00:36:47 352
原创 Swift笔记
iOS开发快两年了,现在在威锋网呆了差不多9个月了,也学习了点越狱开发,至今没怎么写个iOS开发的心得和总结,总觉得有点遗憾。现在把之前学习swift的最为遗忘点记录下,以便以后查看。/swift中不会自动给变量赋初始值,也就是说变量不会有默认值 //?的两种使用场景: //1.声明Optional值变量 //2.用在对Optional值操
2015-02-05 21:58:41 310
原创 iOS6与iOS7屏幕适配技巧
转: http://www.th7.cn/Program/IOS/201312/167099.shtml一、没有包装任何 导航控制器 或者UITabBarController1.控制器的view是UIScrollView/UITableView/UICollectionView时(控制器是UITableViewController的时候)- (void)viewDidLoa
2014-07-11 14:13:25 418
转载 CoreBluetooth学习
设备断开后调用的函数是哪个呢?CoreBluetooth 框架有用0没用0Code4appDev2013-06-07 16:59:32回复You can search "TemperatureSensor" in the XCode Organizer documentation And you need to resta
2014-03-28 12:30:43 1945
转载 IOS 7 Xcode 5 免IDP证书 真机调试
IOS 7 Xcode 5 免IDP证书 真机调试2013-12-28 17:59:06标签:IOS 7 Xcode5 免IDP账号 真机调试原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://bobzy.blog.51cto.com/2109336/1346061最近转开发了,真的很久没有更新博
2014-03-06 15:01:36 493
转载 ALAssetsLibrary详解
ALAssetsLibrary详解发表于18天前(2014-02-15 22:46) 阅读(3) | 评论(0) 0人收藏此文章, 我要收藏赞0iOS ALAssetsLibraryALAssetsLibrary类是代表系统中整个资源库,使用它可以访问资源库中的资源和保存照片,视频等功能。 _library = [[ALAsse
2014-03-05 13:23:44 643
转载 ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结
ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结发表于2个月前(2013-12-23 16:36) 阅读(40) | 评论(0) 0人收藏此文章, 我要收藏赞0这几天在搞iphone上面一个应用的开发,里面有需要摄像头/相册编程和图片上传的问题,在这里总结一下。 【部分知识】 iphone中图像通常存储在4个地方【相册、应用程序
2014-03-05 12:05:36 509
转载 隐藏TabBar的一些方法小结
隐藏TabBar的一些方法小结 (2012-12-07 10:53:42)转载▼标签: 杂谈 it分类: ios相关技术在项目中经常遇到隐藏tabBar,实力很多种方法,可以解决不同情况下问题1://隐藏tabBar WebViewController *webVc = [[WebView
2014-03-04 13:25:20 707
转载 ios uiwebview 长按图片,保存到本地相册
我们所要解决的问题如题目所示:ios中,长按Webview中的图片,将图片保存到本地相册。解决方案:对load的html网页,执行js注入,通过在webview中执行js代码,来响应点击事件,通过js代码来模拟长按事件。发现图片的位置,获得图片的url链接,通过此链接获得图片,将此图片保存到本地相册。js注入代码:static NSString* const kTouchJ
2014-02-28 11:21:25 955
转载 如何使用KeyChain保存和获取UDID
本文是iOS7系列文章第一篇文章,主要介绍使用KeyChain保存和获取APP数据,解决iOS7上获取不变UDID的问题。并给出一个获取UDID的工具类,使用方便,只需要替换两个地方即可。 一、iOS不用版本获取UDID的方法比较 1)iOS 5.0 iOS 2.0版本以后UIDevice提供一个获取设备唯一标识符的方法uniqueIdentifie
2014-02-20 15:39:52 371
转载 UIWindow & UIWindowLevel笔记
一、UIWindow是一种特殊的UIView,通常在一个程序中只会有一个UIWindow,但可以手动创建多个UIWindow,同时加到程序里面。UIWindow在程序中主要起到三个作用: 1、作为容器,包含app所要显示的所有视图 2、传递触摸消息到程序中view和其他对象 3、与UIViewController协同工作,方便完成设备方向旋转的支持二、通常我们
2014-02-20 14:46:24 384
转载 状态栏提示控件的实现原理
现在很多流行的软件都加入了状态栏提示的功能,比如手机qq,微信等,今天我们就一起来看看状态栏提示控件的原理与实现。 一、状态栏提示的实现原理 不知道大家看到状态栏提示控件,第一感觉它是怎么实现的呢? 我们知道即使平时写的view是充满全屏的,也始终不会显示到statusBar的上层的。也就是说statusBar应该是一个特殊的view,始终位于程序的t
2014-02-20 14:42:30 618
转载 Quartz2D 图像处理
本文将为大家介绍常见的IOS图像处理操作包括以下四部分:旋转,缩放,裁剪以及像素和UIImage之间的转化,主要使用的知识是quartz2D。Quartz2D是CoreGraphics框架中的一个重要组成部分,可以完成几乎所有的2D图像绘制,处理功能。跟window编程中GDI的功能一样,而且很多概念都差不多。 一、图像旋转 图像旋转是图像处理过程中一中常见操作,按照旋转
2014-02-20 14:40:01 507
转载 Quartz2D 图像处理
本文将为大家介绍常见的IOS图像处理操作包括以下四部分:旋转,缩放,裁剪以及像素和UIImage之间的转化,主要使用的知识是quartz2D。Quartz2D是CoreGraphics框架中的一个重要组成部分,可以完成几乎所有的2D图像绘制,处理功能。跟window编程中GDI的功能一样,而且很多概念都差不多。 一、图像旋转 图像旋转是图像处理过程中一中常见操作,按照旋转
2014-02-20 14:32:53 682
转载 IOS 3D UI --- CALayer的transform扩展
IOS 3D UI --- CALayer的transform扩展 例子代码可以在 http://download.csdn.net/detail/worldmatrix/4603488 下载 iOS的UI是基于UIView类的,我们能看到的每个UI元素都是UIView或者UIView的子类。View按树形结构组织起来,树根是UIWindow。
2014-02-19 14:26:34 459
转载 屏幕旋转学习笔记
加速计是整个IOS屏幕旋转的基础,依赖加速计,设备才可以判断出当前的设备方向,IOS系统共定义了以下七种设备方向:typedef NS_ENUM(NSInteger, UIDeviceOrientation) { UIDeviceOrientationUnknown, UIDeviceOrientationPortrait, // Devi
2014-02-19 12:33:06 472
转载 IOS:屏幕旋转与Transform
iTouch,iPhone,iPad设置都是支持旋转的,如果我们的程序能够根据不同的方向做出不同的布局,体验会更好。 如何设置程序支持旋转呢,通常我们会在程序的info.plist中进行设置Supported interface orientations,添加我们程序要支持的方向,而且程序里面每个viewController也有方法 supportedInterfaceOrie
2014-02-19 12:27:14 759
转载 iOS多线程的初步研究(十)-- dispatch同步
GCD提供两种方式支持dispatch队列同步,即dispatch组和信号量。一、dispatch组(dispatch group)1. 创建dispatch组dispatch_group_t group = dispatch_group_create(); 2. 启动dispatch队列中的block关联到group中dispatch_group_
2014-02-12 15:44:48 439
转载 iOS多线程的初步研究(九)-- dispatch源
dispatch源(dispatch source)和RunLoop源概念上有些类似的地方,而且使用起来更简单。要很好地理解dispatch源,其实把它看成一种特别的生产消费模式。dispatch源好比生产的数据,当有新数据时,会自动在dispatch指定的队列(即消费队列)上运行相应地block,生产和消费同步是dispatch源会自动管理的。dispatch源的使用基本为以下步骤:
2014-02-12 15:43:27 567
转载 iOS多线程的初步研究(七)-- dispatch对象
谈起iOS的dispatch(正式称谓是Grand Central Dispatch或GCD),不得不说这又是iOS(包括MacOSX)平台的创新,优缺点这里不讨论,只有当你使用时才能真正体会到。我们说dispatch函数的主要目的是实现多任务并发代码,那么要理解dispatch函数,先来了解dispatch对象的定义。 dispatch对象类型的部分定义,主要使用C语言的宏定义:
2014-02-12 15:41:56 365
转载 iOS多线程的初步研究(六)-- NSOperation
iOS平台提供更高级的并发(异步)调用接口,让你可以集中精力去设计需完成的任务代码,避免去写与程序逻辑无关的线程生成、运行等管理代码。当然实质上是这些接口隐含生成线程和管理线程的运行,从而更加简洁地实现多线程。下面先来研究NSOperation和NSOperationQueue类的使用。NSOperation实质是封装了需要并发运行的代码,一些主要接口和NSThread基本相同,可以看
2014-02-12 15:41:04 356
转载 iOS多线程的初步研究(五)-- 如何让NSURLConnection在子线程中运行
可以有两个办法让NSURLConnection在子线程中运行,即将NSURLConnection加入到run loop或者NSOperationQueue中去运行。前面提到可以将NSTimer手动加入NSRunLoop,Cocoa库也为其它一些类提供了可以手动加入NSRunLoop的方法,这些类有NSPort、NSStream、NSURLConnection、NSNetServ
2014-02-12 15:40:09 421
转载 iOS多线程的初步研究(四)-- NSTimer
理解run loop后,才能彻底理解NSTimer的实现原理,也就是说NSTimer实际上依赖run loop实现的。先看看NSTimer的两个常用方法:+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userI
2014-02-12 15:38:58 354
转载 iOS多线程的初步研究(二)-- 锁
谈到线程同步,一般指如何对线程间共享数据的同步读写,如何避免混乱的读写结果。一个基本的解决办法就是使用锁(LOCK)。iOS提供多种同步锁的类和方法,这里介绍下基本用法。 1. NSLock:最基本的同步锁,使用lock来获得锁,unlock释放锁。如果其它线程已经使用lock,这时lock方法会阻塞当前线程,直到其它线程调用unlock释放锁为止。NSLock锁一般用于简单的
2014-02-12 15:36:23 426
原创 iOS多线程的初步研究(一)-- NSThread
对于多线程的开发,iOS系统提供了多种不同的接口,先谈谈iOS多线程最基础方面的使用。产生线程的方式姑且分两类,一类是显式调用,另一类是隐式调用。一、显示调用的类为NSThread。一般构造NSThread的线程对象可通过两种方式:1. 初始化线程主方法:[NSThread detachNewThreadSelector:@selector(run:) toTarget:tar
2014-02-12 15:35:16 396
转载 iOS多线程的初步研究(八)-- dispatch队列
GCD编程的核心就是dispatch队列,dispatch block的执行最终都会放进某个队列中去进行,它类似NSOperationQueue但更复杂也更强大,并且可以嵌套使用。所以说,结合block实现的GCD,把函数闭包(Closure)的特性发挥得淋漓尽致。 dispatch队列的生成可以有这几种方式:1. dispatch_queue_t queue = dispat
2014-02-12 14:57:44 360
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人