- 博客(18)
- 收藏
- 关注
原创 如何理解OC是一门动态语言
苹果官网上对OC的描述是:Objective-C是一门非常动态的语言(Objective-C is a very dynamic language)。OC的动态特性可从三方面描述动态类型识别(Dynamic typing):最终判定该类的实例类型是在运行期间动态绑定(Dynamic binding):在运行时确定调用的方法动态加载(Dynamic loading):在运行期间可添加模块(类、方法)...
2018-03-14 12:06:55 1923 1
转载 iOS指令集那点事儿(i386、armv6、armv7、armv7s、armv64)
1、i386是代表模拟器,显示i386错误说明静态库不支持模拟器,只支持真机。2、armv6, armv7, armv7s是ARM CPU的不同指令集,原则上是向下兼容的。如iPhone4S CPU支持armv7, 但它同时兼容armv6,只是使用armv6 指令可能无法充分发挥它的特性。同理iPhone5 CPU支持armv7s,它虽然也兼容armv7,但是却无法进行相关的优化。
2016-04-27 11:08:52 1822
原创 iOS播放视频时候,忽略设备静音按钮
用户有时会在静音模式下观看视频,如果不主动设置的话,视频是没有声音的,通过AVAudioSession可开启以视频为主导的播放模式,首先需要导入,AVFoundtion.framework,在控制播放的Controller里面,需要导入文件然后添加如下代码:AVAudioSession *session =[AVAudioSession sharedInstance];[ses
2016-04-08 14:56:38 4786
原创 iOS内存那点事儿
iOS内存管理是采用了一个叫做引用计数的东西,当一个实例的引用计数大于0的时候,该实例在程序运行结束前所占的内存是不被释放的。iOS中内存区域共分为五大模块:1、堆区(heap):用来存储局部变量的值。由开发人员分配和释放(alloc和release,动态管理),如alloc一个对象后,所分配的内存就在堆区。其优点是灵活方便,数据适应面广泛,但是效率相比栈区有所降低。2、栈
2016-03-18 10:19:02 404
原创 iOS通过UIApplication获取网络状态
最近项目中用到了网络判断方面的东西,之前一直都是用的第三方的,这次心血来潮想通过native的东西来实现,废话不多说,直接上代码UIApplication *app = [UIApplication sharedApplication];NSArray *children = [[[app valueForKeyPath:@"statusBar"]valueForKeyPath:@"f
2016-03-10 18:32:32 510
转载 使用Safari调试WebView
在web开发的过程中,抓包、调试页面样式、查看请求头是很常用的技巧。其实在iOS开发中,这些技巧也能用(无论是模拟器还是真机),不过我们需要用到mac自带的浏览器Safari。所以,本文将讲解如何使用Safari对iOS程序中的webview进行调试。环境信息:Mac OS X 10.10.1Xcode 6.1.1iOS 8.1正文:1. 打
2016-02-25 15:12:14 957
转载 WKWebView新特性
在WWDC2014中,苹果推出了最新的iOS8系统,其中也伴随着很多控件的更新与升级。其中全新的WebKit库让人很是兴奋。本文也将讲解到WebKit中更新的WKWebView控件的新特性与使用方法,它很好的解决了UIWebView存在的内存、加载速度等诸多问题。环境信息:Mac OS X 10.10.1Xcode 6.1.1iOS 8.1正文:
2016-02-25 15:08:17 724
原创 iOS验证手机号的正则表达式
最近项目中用到了手机好验证,顺便记录一下-(BOOL)checkPhoneNumInput{ NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$"; NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[27
2015-12-22 11:47:37 454
转载 5个主流的HTML5开发工具
HTML5被看做是web开发者创建流行web应用的利器,增加了对视频和Canvas 2D的支持。用HTML5的优点主要在于,这个技术可以进行跨平台的使用。比如你开发了一款HTML5的游戏,你可以很轻易地移植到UC的开放平台、Opera的游戏中心、Facebook应用平台,甚至可以通过封装的技术发放到App Store或Google Play上,所以它的跨平台性非常强大,这也是大多数人对HTML5有
2015-12-21 19:46:32 1275
原创 App跳转至AppStore评价
NSString * urlStr = [NSString stringWithFormat: @"apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%@",你的AppID ]; [[UIApplication shared
2015-12-18 16:07:20 438
翻译 iOS通过URL Scheme调用系统内置setting
程序间通信的实现描述了通过URL Scheme的方式在应用中打开其他应用。调用语句: [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]]; 以下是内置的Settings的URL Scheme:
2015-12-18 16:05:10 845 1
转载 iOS VC的强制横屏
文字罗嗦,篇幅较长,只需营养可直接看红字部分。一个viewController的初始化大概涉及到如下几个方法的调用: initWithNibName:bundle:viewDidLoadviewWillAppear:animated:viewDidAppear:animated:viewWillLayoutSubviewsviewDidLay
2015-10-19 11:28:00 1057
转载 IOS9新增UIStackView
一、继承关系、遵守协议、隶属框架及可用平台 UIStackView 类提供了一个高效的接口用于平铺一行或一列的视图组合。Stack视图使你依靠自动布局的能力,创建用户接口使得可以动态的调整设备朝向、屏幕尺寸及任何可用范围内的变化。Stack视图管理着所有在它的 arrangedSubviews 属性中的视图的布局。这些视图根据它们在 arrangedSubviews 数组中的顺序
2015-06-16 17:14:49 460
转载 迭代思维
敏捷思维:迭代设计http://www.sina.com.cn 2009年08月26日 00:10 IT168.com文本Tag:敏捷开发【IT168 技术文章】 迭代是一种软件开发的生命周期模型,在设计中应用迭代设计,我们可以得到很多的好处。 Context 在软件生命周期中,我们如何对待架构设计的发展? Problem
2014-09-13 11:08:28 2823
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人