10 2015 档案

摘要:ttpResponse httpResponse = null;HttpEntity httpEntity = null; HttpGet httpGet = new HttpGet("http://www.baidu.com"); HttpClient httpClient = new Defa... 阅读全文
posted @ 2015-10-31 11:28 brave-sailor 阅读(301) 评论(0) 推荐(0) 编辑
摘要:原帖:http://www.cnblogs.com/answer1991/archive/2012/04/22/2464524.htmlAndroid操作UI的方法不是线程安全的,也就是说开发者自己生成的线程对象是不能去操作UI的,比如在新线程里修改某个TextView,生成某个Toast。 为了能... 阅读全文
posted @ 2015-10-31 11:26 brave-sailor 阅读(648) 评论(0) 推荐(0) 编辑
摘要:以下为一段ANR的LOG,主要是在WindowManagerService.java和ActivityManagerService.java中实现。 W/WindowManager( 2183): Key dispatching timed out sending to com.android.ca... 阅读全文
posted @ 2015-10-31 10:56 brave-sailor 阅读(1013) 评论(0) 推荐(0) 编辑
摘要:Android ANR这个错误大家并不陌生,但是从Android 2.2开始出错的ANR信息会自动上传给Google进行系统分析改进,当然了你的应用ANR错误其实保存在一个文件中,在/data/anr/traces.txt文件中,如果你的Android设备没有Root越狱过,可以将你的软件装在模拟器... 阅读全文
posted @ 2015-10-31 10:49 brave-sailor 阅读(940) 评论(0) 推荐(0) 编辑
摘要:其实我们要牢记的是,对数据流的操作都是阻塞的,在一般情况下,我们是不需要考虑这个问题的,但是在Android实现联网的时候,我们必须考虑到这个问题。比如:从网络上下载一张图片:Java代码:public Bitmap returnBitmap(String url){URL myFileUrl =... 阅读全文
posted @ 2015-10-31 10:48 brave-sailor 阅读(332) 评论(0) 推荐(0) 编辑
摘要:尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。因此,改用先通过BitmapFactory... 阅读全文
posted @ 2015-10-31 10:41 brave-sailor 阅读(268) 评论(0) 推荐(0) 编辑
摘要:做android,免不了要去运行一些跑分程序,常用的跑分程序有quadrant(象限),nbench,安兔兔等。作为系统工程师,对这些跑分 程序都非常的不屑,这个只能是一个不客观的参考,但客户都喜欢拿这个比较,于是乎,各家各厂都或多或少会针对此做优化(甚至是作弊或直接的作假),这可不 是什么好现象,... 阅读全文
posted @ 2015-10-31 10:32 brave-sailor 阅读(1160) 评论(0) 推荐(0) 编辑
摘要:当初遇到这个bug,是不定期的低概率出现,最后找到一个比较容易重现的步骤:启动系统然后进google + 新建一个帐号(注意是新建一个帐号)没几步就重启了这个BUG,一开始追踪也是无头绪的,在这个bug出现时,系统的debuggerd还是有些问题,pt_regs设置的和内核对应不上,tombston... 阅读全文
posted @ 2015-10-31 10:31 brave-sailor 阅读(634) 评论(0) 推荐(0) 编辑
摘要:使用过Android的同学,尤其是用过山寨pad,应该对Android的重启问题印象深刻吧。Android由于其设计的复杂性,可能会使得系统在不经意时陷入异常状态,因此Android设计了一套看门狗机制,当检测到问题后,自动重启。再说说我碰到的问题吧,刚带起Android的时候,android的重启... 阅读全文
posted @ 2015-10-31 10:31 brave-sailor 阅读(594) 评论(0) 推荐(0) 编辑
摘要:System_Server进程运行在system server进程中的服务比较多,这是整个android框架的基础Native服务SurfaceFlinger这是framebuffer合成的服务,将各个应用程序及应用程序中的逻辑窗口图像数据(surface)合成到一个物理窗口中显示(framebuf... 阅读全文
posted @ 2015-10-31 10:29 brave-sailor 阅读(352) 评论(0) 推荐(0) 编辑
摘要:这个bug,是google自带的问题。 和见到的诸多android的疑难问题一样,这又是一个可以归类为 多线程同步/状态机 问题。问题处在NuPlayer的异步消息的handle中,现象和原因不细说了,被此BUG纠结的头大的,应该一看就明白。重现步骤:反复进入、退出html5的流媒体播放 (浏览器的... 阅读全文
posted @ 2015-10-31 10:25 brave-sailor 阅读(543) 评论(0) 推荐(0) 编辑
摘要:由于最近才接触到IOS,苹果已经建议storyboard来搭建所有界面了,于是我 也追随时尚,直接开始使用storyboard。(不料在涉及到页面跳转的时候,遇到的问题是:点击后没有任何反应)众所周知,在storyboard 中,界面的跳转是通过segue来实现的,利用它,省去了方法内写入跳转的代码... 阅读全文
posted @ 2015-10-29 20:35 brave-sailor 阅读(357) 评论(0) 推荐(0) 编辑
摘要:给单独的viewcontroller或者在Appdelegate的主页面添加导航条,只要在viewcontroller上添加navigationcontroller,在添加此navigationcontroller即可- (BOOL)application:(UIApplication *)appl... 阅读全文
posted @ 2015-10-29 20:26 brave-sailor 阅读(2415) 评论(0) 推荐(0) 编辑
摘要:IOS开发中UIBarButtonItem上按钮切换或隐藏案例实现案例是本文要介绍的内容,这个代码例子的背景是:导航条右侧有个 edit button,左侧是 back button 和 add button。AD:【线下活动】三大新锐HTML 5企业汇聚51CTO—大话移动前端技术IOS开发中UI... 阅读全文
posted @ 2015-10-29 11:38 brave-sailor 阅读(818) 评论(0) 推荐(0) 编辑
摘要:import UIKit class ViewController: UIViewController { @IBOutlet weak var toolBar: UIToolbar! @IBOutlet weak var addActionLabel: UILabel! override ... 阅读全文
posted @ 2015-10-28 20:16 brave-sailor 阅读(694) 评论(0) 推荐(0) 编辑
摘要:代码示例:https://github.com/johnlui/SwiftSideslipLikeQQ本 文中,我们将一起使用 UINavigationController 来管理主视图,并实现点击左视图中菜单时,主视图自动联动的功能。本文是本系列文章的终结篇,也是最有难度的一篇,我已经为此编写了 ... 阅读全文
posted @ 2015-10-28 14:29 brave-sailor 阅读(321) 评论(0) 推荐(0) 编辑
摘要:代码示例:https://github.com/johnlui/SwiftSideslipLikeQQ本篇文章中,我们将一起使用 Auto Layout 高仿手Q的左侧视图,力争达成从布局到动画的全面类似。由于实现过程繁复,本文将主要讲述思路和心得体会,将不再大段大段地粘贴代码。手Q左视图的展现方式... 阅读全文
posted @ 2015-10-28 14:28 brave-sailor 阅读(316) 评论(0) 推荐(0) 编辑
摘要:本系列文章中,我们将尝试再造手机QQ的侧滑菜单,力争最大限度接近手Q的实际效果,并使用 Auto Layout 仿造左侧菜单,实现和主视图的联动。代码示例:https://github.com/johnlui/SwiftSideslipLikeQQ最终效果:开发环境本系列文章的开发环境为:* OS ... 阅读全文
posted @ 2015-10-28 14:27 brave-sailor 阅读(465) 评论(0) 推荐(0) 编辑
摘要:1. Log信息级别Log.v- VERBOSE : 黑色Log.d- DEBUG : 蓝色Log.i- INFO : 绿色Log.w- WARN : 橙色Log.e- ERROR : 红色从上而下级别逐次增加2. 过滤:指定标签,指定级别adb logcat [TAG:LEVEL ][TAG:LE... 阅读全文
posted @ 2015-10-22 09:32 brave-sailor 阅读(3522) 评论(0) 推荐(0) 编辑
摘要://一、*项目准备1、QQ音乐App 界面素材:(我使用PP助手,将QQ音乐App备份,解压ipa文件 即可得到里面的图片素材)2、豆瓣电台接口:"http://douban.fm/j/mine/playlist?channel=1"//二、*界面布局使用Xcode新建一个Single View A... 阅读全文
posted @ 2015-10-19 17:38 brave-sailor 阅读(329) 评论(0) 推荐(0) 编辑
摘要:后续计划性能优化——诊断及工具(目前只有关于TraceView的介绍)、性能优化——内存篇、性能优化——JNI篇,性能优化——电量篇。2、何为性能问题在性能测试中存在两个概念:(1). 响应时间指从用户操作开始到系统给用户以正确反馈的时间。一般包括逻辑处理时间 + 网络传输时间 + 展现时间。对于非... 阅读全文
posted @ 2015-10-16 09:44 brave-sailor 阅读(274) 评论(0) 推荐(0) 编辑
摘要:一个网络请求可以简单分为连接服务器 -> 获取数据两个部分。其中连接服务器前还包括 DNS 解析的过程;获取数据后可能会对数据进行缓存。一、连接服务器优化策略1. 不用域名,用 IP 直连省去 DNS 解析过程,DNS 全名 Domain Name System,解析意指根据域名得到其对应的 IP ... 阅读全文
posted @ 2015-10-16 09:43 brave-sailor 阅读(192) 评论(0) 推荐(0) 编辑
摘要:1、降低执行时间这部分包括:缓存、数据存储优化、算法优化、JNI、逻辑优化、需求优化几种优化方式。(1). 缓存缓存主要包括对象缓存、IO缓存、网络缓存、DB缓存,对象缓存能减少内存的分配,IO缓存减少磁盘的读写次数,网络缓存减少网络传输,DB缓存较少Database的访问次数。在内存、文件、数据库... 阅读全文
posted @ 2015-10-16 09:42 brave-sailor 阅读(182) 评论(0) 推荐(0) 编辑
摘要:1、抽象布局标签(1) 标签include标签常用于将布局中的公共部分提取出来供其他layout共用,以实现布局模块化,这在布局编写方便提供了大大的便利。下面以在一个布局main.xml中用include引入另一个布局foot.xml为例。main.mxl代码如下:Java1234567891011... 阅读全文
posted @ 2015-10-16 09:41 brave-sailor 阅读(247) 评论(0) 推荐(0) 编辑
摘要:1、索引简单的说,索引就像书本的目录,目录可以快速找到所在页数,数据库中索引可以帮助快速找到数据,而不用全表扫描,合适的索引可以大大提高数据库查询的效率。(1). 优点大大加快了数据库检索的速度,包括对单表查询、连表查询、分组查询、排序查询。经常是一到两个数量级的性能提升,且随着数据数量级增长。(2... 阅读全文
posted @ 2015-10-16 09:40 brave-sailor 阅读(240) 评论(0) 推荐(0) 编辑
摘要:一、性能瓶颈点整个页面主要由6个Page的ViewPager,每个Page为一个GridView,GridView一屏大概显示4*4的item信息(本文最后有附图)。由于网络数据获取较多且随时需要保持页面内app下载进度及状态,所以出现以下性能问题a. ViewPager左右滑动明显卡顿b. Gri... 阅读全文
posted @ 2015-10-16 09:39 brave-sailor 阅读(209) 评论(0) 推荐(0) 编辑
摘要:Android性能检测traceview的使用方法1. 把android-sdk-windows\tools路径加到Path当中2. 编写测试代码:[java]view plaincopypackagecom.wwj.traceview;importjava.util.ArrayList;impor... 阅读全文
posted @ 2015-10-15 15:31 brave-sailor 阅读(242) 评论(0) 推荐(0) 编辑
摘要:前面唠叨最近公司app中有些列表在滑动的时候会有卡顿现象,我就开始着手解决这些问题,解决问题之前首先要分析列表滑动的性能瓶颈在什么地方。因为之前不会正确使用TraceView这个工具,主要是看不懂TraceView界面下方数据指标的值代表什么意思…以前我用StopWatch类来分析性能,现在觉得弱爆... 阅读全文
posted @ 2015-10-15 14:42 brave-sailor 阅读(240) 评论(0) 推荐(0) 编辑
摘要:之前用objective-c开发时,页面之间的切换很容易。其实用swift没有很大的变化,如果你是用storyboard完成的界面,基本上是同样的方式,只不过在代码部分写成swift风格的就行了。今天在实验开发一个简单的小程序时,却遇到了一些bug,后来还是求助stackoverflow上的大神解决... 阅读全文
posted @ 2015-10-15 11:22 brave-sailor 阅读(1899) 评论(0) 推荐(0) 编辑
摘要:问题如何获取一个控件的长和高,相信很多朋友第一眼看见这个问题都会觉得很简单,直接在onCreate里面调用getWidth、getMeasuredWidth不就可以获得了吗,但是,事实上是并没有简单的,不信的话,你可以去试一下,在onCreate里面,你是无法获得长宽值的,始终为0。原因这是为什么呢... 阅读全文
posted @ 2015-10-14 17:32 brave-sailor 阅读(167) 评论(0) 推荐(0) 编辑
摘要:在Android2.3中增加了对音频混响的支持,这些API包含在android.media.audiofx包中。 一、概述 AudioEffect是android audio framework(android 音频框架)提供的音频效果控制的基类。开发者不能直接使用此类,应该使用它的派生类。 ... 阅读全文
posted @ 2015-10-14 09:49 brave-sailor 阅读(582) 评论(0) 推荐(0) 编辑
摘要:今天在听iOS开发讲座时,照着讲座的demo输入代码,尝试运行时遇到了" this class is not key value coding-compliant for the key digitPressed.' "的错误,经过一番搜索和排查发现是自己在设置IBAction和IBOutlet时有... 阅读全文
posted @ 2015-10-13 17:39 brave-sailor 阅读(1158) 评论(0) 推荐(0) 编辑
摘要:前面提到AppDelegate的实例在UIApplicationMain函数中被创建并调用。AppDelegate的主要作用,可以从其继承类可以看出class AppDelegate:UIResponder,UIApplicationDelegate。1. UIResponder官方手册UIResp... 阅读全文
posted @ 2015-10-13 17:31 brave-sailor 阅读(447) 评论(0) 推荐(0) 编辑
摘要:根据Android的层次结构,性能优化也是分层次进行的,本文会分别对Application、Framework、Native、Kernel各层做总结,每层主要会从性能优化的基本思想、优化技巧、优化工具几个方面进行说明。第一章Android应用性能优化(概述) 应用程序的性能问题是最明显、最容易体现... 阅读全文
posted @ 2015-10-12 11:14 brave-sailor 阅读(278) 评论(0) 推荐(0) 编辑
摘要:在Xcode5上做以上的操作没有问题,这次是要在Xcode6上实现之,特记录以备用. 首先新建一个storyboard文件.取名Custom.storyboard.拖动菜单添加一个TabBarComtroller.由于XCode6使用了Use Size Classes功能.所有拖出来的Control... 阅读全文
posted @ 2015-10-12 00:53 brave-sailor 阅读(431) 评论(0) 推荐(0) 编辑
摘要:一、内容概要按钮是所有UI体系中非常重要的组件,在iOS中按钮UIButton的使用也非常灵活,本文将从以下几点介绍UIButton的使用(基于Swift2.0):1.UIButton基础2.UIButton图片使用3.圆角按钮4.复选框按钮5.倒计时按钮(闪烁问题也轻松解决)6.贪婪按钮(父控件事... 阅读全文
posted @ 2015-10-11 23:17 brave-sailor 阅读(270) 评论(0) 推荐(0) 编辑
摘要:Swift是供iOS和OS X应用编程的新编程语言。相信很多开发者都在学习这门新语言。废话不多说,下面我就来学习使用Swift创建一个简单的UI应用程序。AD:概述Apple近日发布了Swift编程语言,Swift是供iOS和OS X应用编程的新编程语言。相信很多开发者都在学习这门新语言。废话不多说... 阅读全文
posted @ 2015-10-11 16:49 brave-sailor 阅读(274) 评论(0) 推荐(0) 编辑
摘要:1.效果图 2.NewsViewController.swift//// NewsViewController.swift// NavigationDemo//// Created by 赵超 on 14-6-27.// Copyright (c) 2014年 赵超. All righ... 阅读全文
posted @ 2015-10-10 19:12 brave-sailor 阅读(275) 评论(0) 推荐(0) 编辑
摘要:1.创建多个视图控制器,放如UITabBarController中AViewController *aa = [[AViewController alloc] init]; UINavigationController* ayNav = [[UINavigationController al... 阅读全文
posted @ 2015-10-10 19:09 brave-sailor 阅读(165) 评论(0) 推荐(0) 编辑
摘要:我们在第一次打开App的时候,通常不是直接进入App主界面,而是会有一个能左右滑动、介绍App功能的界面。我是用NSUserDefaults + UIScrollview实现。 新建一个类,继承UIView,假设名为Guide。在initWithFrame方法里: CGFloat s... 阅读全文
posted @ 2015-10-10 18:06 brave-sailor 阅读(246) 评论(0) 推荐(0) 编辑
摘要:致命的错误: 对一个为空的optional值进行解包.强制解包(forced unwrapping): 在optional后面加叹号. 比如 "value!"错误代码:let testString ="lalala" let a = testString.toInt(); println("... 阅读全文
posted @ 2015-10-10 14:13 brave-sailor 阅读(4876) 评论(0) 推荐(0) 编辑
摘要:更新记录:该Storyboard教程由Caroline Begbie更新iOS 8和Swift相关内容。原文作者为教程编纂组的成员Matthijs Hollemans。2014/12/10更新:更新至Xcode 6.1.1。Storyboard是最先在iOS 5引入的一项振奋人心的特性,大幅缩减构建... 阅读全文
posted @ 2015-10-09 20:11 brave-sailor 阅读(430) 评论(0) 推荐(0) 编辑
摘要:今天凌晨Apple刚刚发布了Swift编程语言,Swift是供iOS和OS X应用编程的新编程语言。相信很多开发者都在学习这门新语言。废话不多说,下面我就来学习使用Swift创建一个简单的UI应用程序。关于Swift语法,可以参考《Apple Swift编程语言入门教程》效果如下:开发环境Xcode... 阅读全文
posted @ 2015-10-09 19:21 brave-sailor 阅读(356) 评论(0) 推荐(0) 编辑
摘要:在图形界面编程时,解决的第一问题就是如何将静态界面与代码关联起来,或者说是代码如何与界面上的对象通信, 代码如何操作界面上的对象。在iPhone平台上,引入了IBOutlet与IBAction。通过在变量前增加IBOutlet来说明该变量将与界面上的某个UI对象对应,在方法前增加IBAction来说... 阅读全文
posted @ 2015-10-09 16:37 brave-sailor 阅读(239) 评论(0) 推荐(0) 编辑
摘要:1.新建小QQ项目2.将所需用到的图片资源(resource)文件夹,添加到项目中.并新建一个登录页面:LoginViewController.swift3.修改LoginViewController.swift代码为123456import UIKitclass LoginViewControll... 阅读全文
posted @ 2015-10-09 15:19 brave-sailor 阅读(341) 评论(0) 推荐(0) 编辑
摘要:1.打开项目QQMusic,然后点菜单:“File-New-Target”添加appleWatch扩展项2.选择Swift语言,把Include Notification Scene前的勾去掉 (项目暂时不需要做ios端的通知)3.在 WatchKit Extension的Compile Sourc... 阅读全文
posted @ 2015-10-09 15:16 brave-sailor 阅读(711) 评论(0) 推荐(0) 编辑
摘要:Mirror of Apple’s iOS samplesThis repository mirrorsApple’s iOS samples.NameTopicFrameworkDescriptionABUIGroupsData Management(Contact Data)AddressBoo... 阅读全文
posted @ 2015-10-09 11:45 brave-sailor 阅读(745) 评论(0) 推荐(0) 编辑
摘要:一、关键概念:Generic Attribute Profile (GATT)通过BLE连接,读写属性类小数据的Profile通用规范。现在所有的BLE应用Profile都是基于GATT的。Attribute Protocol (ATT)GATT是基于ATT Protocol的。ATT针对BLE设备... 阅读全文
posted @ 2015-10-09 11:42 brave-sailor 阅读(202) 评论(0) 推荐(0) 编辑
摘要:摘要:拥有着苹果先天生态优势的Swift自发布以来,各种优秀的开源项目便层出不穷。本文作者站在个人的角度,将2014年Swift开源项目做了一个甄别、筛选,从工具、存储、网络、界面、框架到Demo以及完整应用等,满满的干货。作为一门集百家之长的新语言,Swift拥有着苹果先天的生态优势,而其在Git... 阅读全文
posted @ 2015-10-09 11:28 brave-sailor 阅读(373) 评论(0) 推荐(0) 编辑
摘要:在这里,你将会学习到解析JSON数据,网络请求功能,动态调整cell内容等功能!!!最终的结果 是这样的,项目相对简单,很适合入门!下面让我们一起开始教程之旅吧!1、先看下项目工程结构:第一步:创建Utitlities文件夹,先完成基础通用的辅助功能1、网络请求类:HttpRequest.swift... 阅读全文
posted @ 2015-10-09 11:23 brave-sailor 阅读(376) 评论(0) 推荐(0) 编辑
摘要:下面通过一个例子说明如何在代码中进行segue页面的切换,以及参数的传递。样例功能如下:1,主界面中是一个列表(这个列表是在代码中实现)2,点击列表项时,界面会切换到详情页面,同时传递改列表项的值到详细页面。效果图如下:实现步骤:1,在storyboard中拖入一个新的ViewController用... 阅读全文
posted @ 2015-10-09 11:16 brave-sailor 阅读(416) 评论(0) 推荐(0) 编辑
摘要:一、简单介绍UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例子就是QQ、微信等应⽤。二、UITabBarController的使用1.使用步骤:(1)初始化UIT... 阅读全文
posted @ 2015-10-09 11:13 brave-sailor 阅读(191) 评论(0) 推荐(0) 编辑
摘要:1.效果图 2.NewsViewController.swift[objc]view plaincopy////NewsViewController.swift//NavigationDemo////Createdby赵超on14-6-27.//Copyright(c)2014年赵超.Allrigh... 阅读全文
posted @ 2015-10-09 11:07 brave-sailor 阅读(399) 评论(0) 推荐(0) 编辑
摘要:老实说,这两个小东东实在是太麻烦了,很不好懂,我自己那api文档都头晕,在网上找到很多资料,才知道是怎么回事,这里总结一下,记住这个原则就会很清楚了:1、onInterceptTouchEvent()是用于处理事件(类似于预处理,当然也可以不处理)并改变事件的传递方向,也就是决定是否允许Touch事... 阅读全文
posted @ 2015-10-09 09:30 brave-sailor 阅读(301) 评论(0) 推荐(0) 编辑
摘要:概述在iOS开发中视图的切换是很频繁的,独立的视图应用在实际开发过程中并不常见,除非你的应用足够简单。在iOS开发中常用的视图切换有三种,今天我们将一一介绍:UITabBarControllerUINavigationController模态窗口UITabBarControlleriOS三种视图切换... 阅读全文
posted @ 2015-10-07 18:43 brave-sailor 阅读(220) 评论(0) 推荐(0) 编辑
摘要:列表的单元格中包含有图片在开发中很常见。通常我们可以直接在tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath)中给单元格设置图片。但有时这些图片要从远程加载,或者要给图片作裁减,添加滤镜等操作。... 阅读全文
posted @ 2015-10-07 11:05 brave-sailor 阅读(461) 评论(0) 推荐(0) 编辑
摘要:Core Image是一个强大的滤镜处理框架。它除了可以直接给图片添加各种内置滤镜,还能精确地修改鲜艳程度, 色泽, 曝光等,下面通过两个样例演示如何给UIImage添加滤镜。1,棕褐色滤镜 -CISepiaTone这个有点复古老照片发黄的效果(上面一张是原图)。扩展UIImage类,添加棕褐色滤镜... 阅读全文
posted @ 2015-10-07 11:04 brave-sailor 阅读(824) 评论(0) 推荐(0) 编辑
摘要:最近越来越流行使用HTML5进行跨平台应用开发,先不说运行效率如何。从人力成本来说,只要写一套html页面就可以打包发布到安卓和iOS等多个平台,确实会省下不少时间和人力(这个领导最喜欢了)。下面简单介绍下如何把HTML5编写的页面编译成iOS应用,以及如何让页面与Swift代码进行交互。1,使用U... 阅读全文
posted @ 2015-10-07 11:03 brave-sailor 阅读(925) 评论(1) 推荐(0) 编辑
摘要:每次在Xcode中新建一个iOS项目后,都会自己产生一个.plist文件,里面记录项目的一些配置信息。我们也可以自己创建.plist文件来进行数据的存储和读取。.plist文件其实就是一个XML格式的文件,其支持的数据类型有(NS省略)Dictionary、Array、Boolean、Data、Da... 阅读全文
posted @ 2015-10-07 11:03 brave-sailor 阅读(2572) 评论(0) 推荐(0) 编辑
摘要:下面是一个简单的应用,表格视图的各个单元格自动异步加载各个网站的favicon图标,并显示出来。主要是复习下如何自定义单元格,单元格中图片的异步加载,以及didSet的用法。效果图如下:操作步骤:(1)先创建单元格类 -FaviconTableViewCell.swift12345678910111... 阅读全文
posted @ 2015-10-07 11:02 brave-sailor 阅读(345) 评论(0) 推荐(0) 编辑
摘要:使用UIWebView或WKWebView加载网页时,如果页面处于最顶端时,用户用手指往下拖动,会露出灰色空背景。同样页面在最底部的时候,继续向上拖动,下方也会露出空背景。要禁止这个拖动效果,可进行如下设置:1theWebView.scrollView.bounces = false原文出自:www... 阅读全文
posted @ 2015-10-07 11:02 brave-sailor 阅读(1535) 评论(0) 推荐(0) 编辑
摘要:通常筛选一个数组,通常会在代码的其它地方创建一个函数,然后为数组的每个元素调用它。但这样做会使代码分散在许多地方,不便于阅读。使用闭包就可以将相关代码片断放在一起,使结构逻辑更加清晰。比如,筛选一个字符数组,过滤出以“hangge”开头的字符串数组12345let array = ["hangge"... 阅读全文
posted @ 2015-10-07 11:01 brave-sailor 阅读(250) 评论(0) 推荐(0) 编辑
摘要:UI Dynamics是UIKit的一个新组成部分,它向iOS中的视图提供了与物理学有关的功能和动画。可以让你向视图中引入力和物理属性,可以让你的视图弹跳,舞动,受重力影响等等。下面通过样例,演示使用UISnapBehavior给UIImageView添加移动吸附行为。效果图如下:(点击屏幕,苹果会... 阅读全文
posted @ 2015-10-07 10:59 brave-sailor 阅读(332) 评论(0) 推荐(0) 编辑
摘要:UI Dynamics是UIKit的一个新组成部分,它向iOS中的视图提供了与物理学有关的功能和动画。可以让你向视图中引入力和物理属性,可以让你的视图弹跳,舞动,受重力影响等等。下面通过样例,演示使用UIGravityBehavior和UICollisionBehavior给UIImageView添... 阅读全文
posted @ 2015-10-07 10:58 brave-sailor 阅读(374) 评论(0) 推荐(0) 编辑
摘要:原来写了篇文章讲UITabBarController的用法,当时是从UIViewController跳转到UITabBarController页面,代码如下:1self.presentViewController(MainTabViewController(), animated:true, com... 阅读全文
posted @ 2015-10-07 10:57 brave-sailor 阅读(2383) 评论(0) 推荐(0) 编辑
摘要:MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。其作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节... 阅读全文
posted @ 2015-10-07 10:56 brave-sailor 阅读(1326) 评论(0) 推荐(0) 编辑
摘要:前段时间有个网友问是否有Swift的HMAC_SHA1算法。这次就专门写篇相关文章进行介绍。要说明HMAC-SHA1,首先要先了解什么是HMAC,什么是SHA。1,HMAC(散列消息身份验证码:Hashed Message Authentication Code)它不是散列函数,而是采用了将MD5或... 阅读全文
posted @ 2015-10-07 10:56 brave-sailor 阅读(726) 评论(0) 推荐(0) 编辑
摘要:1,通知(NSNotification)介绍这里所说的通知不是指发给用户看的通知消息,而是系统内部进行消息传递的通知。要介绍通知之前,我们需要先了解什么是观察者模式。观察者模式 (Observer):指一个对象在状态变化的时候会通知另一个对象。参与者并不需要知道其他对象的具体是干什么的 。这是一种降... 阅读全文
posted @ 2015-10-07 10:55 brave-sailor 阅读(765) 评论(0) 推荐(0) 编辑
摘要:在iOS中,不同的视图控制器负责不同的功能,采用不同的风格向用户呈现信息。下面对各个视图控制器做个总结:1,标准视图控制器 - View Controller这个控制器只是用来呈现内容。通常会用来作为子类,以向屏幕中添加逻辑。2,导航控制器 - Navigation Controller这个控制器呈... 阅读全文
posted @ 2015-10-07 10:55 brave-sailor 阅读(1038) 评论(0) 推荐(0) 编辑
摘要:过去通过 NSURLConnection.sendSynchronousRequest() 方法能同步请求数据。从iOS9起,苹果建议废除 NSURLConnection,使用 NSURLSession 代替 NSURLConnection。如果想要 NSURLSession 也能够同步请求,即数据... 阅读全文
posted @ 2015-10-07 10:53 brave-sailor 阅读(574) 评论(0) 推荐(0) 编辑
摘要:使用Xcode7编写iOS9应用时,如果获取http://数据时会报如下错误:App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exc... 阅读全文
posted @ 2015-10-07 10:53 brave-sailor 阅读(311) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示