07 2017 档案

摘要:(本文代码已升级至Swift3) 本文演示如何制作一个可以编辑单元格内容的表格(UITableView)。 1,效果图 (1)默认状态下,表格不可编辑,当点击单元格的时候会弹出提示框显示选中的内容。 (2)点击导航栏右侧编辑按钮,表格进入可以编辑状态 (3)这时我们可以删除表格项。 (4)也可以拖动 阅读全文
posted @ 2017-07-31 17:35 brave-sailor 阅读(601) 评论(0) 推荐(0) 编辑
摘要://将十六进制的字符串转换成NSString则可使用如下方式: + (NSString *)convertHexStrToString:(NSString *)str { if (!str || [str length] == 0) { return nil; } NSMutableData *he 阅读全文
posted @ 2017-07-27 11:07 brave-sailor 阅读(401) 评论(0) 推荐(0) 编辑
摘要:1,十进制的字符串转成数字 Swift中,如果要把字符串转换成数字类型(比如整型,浮点型等)。可以先转成NSString类型,让后再转。 1 2 3 4 //将文本框中的值转换成数字 var i = (tf1.text as NSString).intValue var f = (tf1.text 阅读全文
posted @ 2017-07-27 11:00 brave-sailor 阅读(5280) 评论(0) 推荐(0) 编辑
摘要:这里所说的转换,并不是Swift中字面量之间的转换。如果是字面量之间的转换,ios系统中已经自动帮我们转换了。 例如let number1:Int = 8let number2:Int = 0b1000let number3:Int = 0x8这三个常量都是同一个值。 接下来要写的是真正意义上的进制 阅读全文
posted @ 2017-07-27 10:58 brave-sailor 阅读(2651) 评论(0) 推荐(0) 编辑
摘要:Java位运算符 &与运算$1600任何二进制位和0进行&运算,结果是0;和1进行&运算结果是原值。 1(简书bug,用1代替) 或运算 任何二进制位和0进行 或 运算,结果是原值;和1进行 或运算结果是1。 ^ 异或运算 任何相同二进制位进行 ^ 运算,结果是0;不相同二进制位 ^ 运算结果是1。 阅读全文
posted @ 2017-07-26 18:18 brave-sailor 阅读(241) 评论(0) 推荐(0) 编辑
摘要:位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。 1.与运算符 与运算符用符号“&”表示,其使用规律如下: 两个操作数中位都为 阅读全文
posted @ 2017-07-26 18:15 brave-sailor 阅读(273) 评论(0) 推荐(0) 编辑
摘要:可以使用位运算来判断。 &是位的与运算符,是指二进制数按位“与”的操作, 逻辑与就是两者都为真的时候才为真,其他真假,假真,假假的运算结果都是假。二进制写法如下 1 & 1 = 1 , 1 & 0 = 0 , 0 & 1 = 0, 0 & 0 = 0 如果想判断十进制数 d 的二进制第n位是否是1, 阅读全文
posted @ 2017-07-26 17:51 brave-sailor 阅读(6849) 评论(0) 推荐(1) 编辑
摘要:-(BOOL) isKindOfClass: classObj 用来判断是否是某个类或其子类的实例 -(BOOL) isMemberOfClass: classObj 用来判断是否是某个类的实例 -(BOOL) respondsToSelector: selector 用来判断是否有以某个名字命名的 阅读全文
posted @ 2017-07-26 15:17 brave-sailor 阅读(588) 评论(0) 推荐(0) 编辑
摘要:iOS10新增加了一个UserNotificationKit(用户通知框架)来整合通知相关的API,UserNotificationKit框架增加了很多令人惊喜的特性: 更加丰富的推送内容:现在可以设置推送的title、subtitle、body 以及符合大小的图片、音频、视频等附件内容。 更好的通 阅读全文
posted @ 2017-07-26 14:06 brave-sailor 阅读(1383) 评论(0) 推荐(0) 编辑
摘要:简介 新框架 获取权限 获取用户设置 注册APNS,获取deviceToken 本地推送流程 远程推送流程 通知策略(Category+Action) 附件通知 代理回调 简介 iOS10新增了UserNotificationKit框架,整合了关于通知的方法。增加了很多新特性: 1. 推送内容更加丰 阅读全文
posted @ 2017-07-26 14:05 brave-sailor 阅读(806) 评论(0) 推荐(0) 编辑
摘要:使用UILocalNotification除了可以实现本地消息的推送功能(可以设置推送内容,推送时间,提示音),还可以设置应用程序右上角的提醒个数。 下面演示如何设置,效果图如下: AppDelegate.swift 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 阅读全文
posted @ 2017-07-26 11:41 brave-sailor 阅读(350) 评论(0) 推荐(0) 编辑
摘要:UIApplication简介 UIApplication对象是应用程序的象征。 每一个应用程序都有自己的UIApplication对象,而且是单例。 一个iOS程序启动后创建的第一个对象就是UIApplication对象。 通过UIApplication *app = [UIApplication 阅读全文
posted @ 2017-07-26 11:00 brave-sailor 阅读(407) 评论(0) 推荐(0) 编辑
摘要:iOS开发拓展篇——如何把项目托管到GitHub 说明:本文主要介绍如何把一个OC项目托管到Github,重操作轻理论。 第一步:先注册一个Github的账号,这是必须的 注册地址:Github官网注册入口 第二步:准备工作 gitHub网站使用Git版本管理工具来对仓库进行管理,注意它们并不等同。 阅读全文
posted @ 2017-07-26 10:34 brave-sailor 阅读(168) 评论(0) 推荐(0) 编辑
摘要:(本文代码已升级至swift3) Swift语言的类扩展是一个强大的工具,我们可以通过类扩展完成如下事情: 1,给已有的类添加计算属性和计算静态属性 2,定义新的实例方法和类方法 3,提供新的构造器 4,定义下标脚本 5,是一个已有的类型符合某个协议 (注意:扩展只能添加新的计算型属性,不能添加存储 阅读全文
posted @ 2017-07-26 10:17 brave-sailor 阅读(392) 评论(0) 推荐(0) 编辑
摘要:在之前的文章中,我介绍了如何使用 AVPlayer 制作一个简单的音乐播放器(点击查看1、点击查看2)。虽然这个播放器也可以播放网络音频,但其实际上是将音频文件下载到本地后再播放的。 本文演示如何使用第三方的 StreamingKit 库,来实现网络流音频的播放。 一、StreamingKit介绍和 阅读全文
posted @ 2017-07-25 17:10 brave-sailor 阅读(1543) 评论(0) 推荐(0) 编辑
摘要:iOS开发中定时器经常会用到,iOS中常用的定时器有三种,分别是NSTime,CADisplayLink和GCD。 NSTimer 方式1 // 创建定时器 NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:2 target:self 阅读全文
posted @ 2017-07-25 16:35 brave-sailor 阅读(314) 评论(0) 推荐(0) 编辑
摘要:1,效果图 (1)图片从左至右横向排列(只有一行),通过手指拖动可以前后浏览图片。 (2)视图滚动时,每张图片根据其与屏幕中心距离的不同,显示尺寸也会相应地变化。越靠近屏幕中心尺寸就越大,远离屏幕中心的就逐渐变小。 (3)滑动结束后,会有位置自动修正的功能。即将当前最靠近屏幕中点的图片移动到正中央。 阅读全文
posted @ 2017-07-25 12:01 brave-sailor 阅读(1533) 评论(0) 推荐(0) 编辑
摘要:有时我们在 App 中提交一些统计信息或者用户反馈信息时,为了能更好地进行分析,通常会附带上当前应用程序的名称、版本号、设备型号、以及设备系统版本。下面演示如何获取这些信息。 1,效果图 程序启动后自动获取相关的应用信息以及设备信息,并打印到控制台中。 2,样例代码 默认情况下我从 UIDevice 阅读全文
posted @ 2017-07-25 10:35 brave-sailor 阅读(840) 评论(0) 推荐(0) 编辑
摘要:代码含义 CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文 CGContextMoveToPoint 开始画线 CGContextAddLineToPoint 画直线 CGContextAddEllipseInRect 画一椭圆 阅读全文
posted @ 2017-07-24 16:42 brave-sailor 阅读(402) 评论(0) 推荐(0) 编辑
摘要:分页菜单(分段菜单)在许多 App 上都会用到。比如大多数新闻 App,如网易新闻、今日头条等,顶部都有个导航菜单。这个导航菜单是一组标签的集合,每个标签表示一个新闻类别,我们点击这个标签后下面就会切换到相应的分页面。同时左右滑动分页面,上方的标签也会跟着移动。 本文介绍一个优秀的第三方分页视图控件 阅读全文
posted @ 2017-07-24 14:30 brave-sailor 阅读(1069) 评论(0) 推荐(0) 编辑
摘要:在 OC 中 init 方法是非常不安全的,没人能够保证 init 只被调用一次,也没有人保证在初始化方法调用以后实例的各个变量都完成初始化,甚至如果在初始化里使用属性进行设置的的话,还可能会造成各种问题。Swift 强化了 designated 初始化方法的地位。swift 中不加修饰的 init 方法都需要在方法中保证所有非 Optional 得实例变量被赋值初始化,而在子类中也强制(显示或... 阅读全文
posted @ 2017-07-24 13:57 brave-sailor 阅读(236) 评论(0) 推荐(0) 编辑
摘要:af 公用荷兰语af-ZA 公用荷兰语 - 南非sq 阿尔巴尼亚sq-AL 阿尔巴尼亚 -阿尔巴尼亚ar 阿拉伯语ar-DZ 阿拉伯语 -阿尔及利亚ar-BH 阿拉伯语 -巴林ar-EG 阿拉伯语 -埃及ar-IQ 阿拉伯语 -伊拉克ar-JO 阿拉伯语 -约旦ar-KW 阿拉伯语 -科威特ar-L 阅读全文
posted @ 2017-07-17 16:56 brave-sailor 阅读(2259) 评论(0) 推荐(0) 编辑
摘要:UIGestureRecognizer 有许多子类,用于监听一些常见的手势事件,这些子类主要有: 1,UISwipeGestureRecognizer:滑动(快速移动) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import UIKit c 阅读全文
posted @ 2017-07-14 11:10 brave-sailor 阅读(646) 评论(0) 推荐(0) 编辑
摘要:摘要: HashMap和Hashtable的区别 HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。 HashMap和Hashtable的区别 HashMap和Hashtabl 阅读全文
posted @ 2017-07-10 16:30 brave-sailor 阅读(321) 评论(0) 推荐(0) 编辑
摘要:按住apple键点击类名就可以定位到这个类中查看相关定义(在日后的开发中我们会经常这么来做,毕竟要记住iOS开发中所有的API是不现实的,有些API我们可以通过这种方法来查找) PS:下面都是网上百度后经过我自己整理,都是Xcode比较常用的快捷键,特别是红色标注的,很常用。用熟了开发编辑代码的的时 阅读全文
posted @ 2017-07-07 18:10 brave-sailor 阅读(11295) 评论(0) 推荐(0) 编辑
摘要:语法表达式 这里的参数(parameters),可以是in-out(输入输出参数),但不能设定默认值。如果是可变参数,必须放在最后一位,不然编译器报错。元组也可以作为参数或者返回值。 "in"关键字表示闭包的参数和返回值类型定义已经完成,闭包函数体即将开始。即由in引入函数 例子 这里的参数(par 阅读全文
posted @ 2017-07-06 17:31 brave-sailor 阅读(214) 评论(0) 推荐(0) 编辑
摘要:单例模式:单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 单例模式有三种:懒汉式单例,饿汉式单例,登记式单例。 1.懒汉式单例 public class Singleton { private static Singleton singleton; private Singleton() {} ... 阅读全文
posted @ 2017-07-06 16:53 brave-sailor 阅读(3308) 评论(0) 推荐(1) 编辑
摘要:摘要: NSUserDefaults适合存储轻量级的本地数据,一些简单的数据(NSString类型的)例如密码,网址等,NSUserDefaults肯定是首选,但是如果我们自定义了一个对象,对象保存的是一些信息,这时候就不能直接存储到NSUserDefaults了 一、了解NSUserDefault 阅读全文
posted @ 2017-07-06 15:01 brave-sailor 阅读(214) 评论(0) 推荐(0) 编辑
摘要:如果对象是NSString、NSDictionary、NSArray、NSData、NSNumber等类型,可以直接用NSKeyedArchiver进行归档和恢复 不是所有的对象都可以直接用这种方法进行归档,只有遵守了NSCoding协议的对象才可以 NSCoding协议有2个方法: encodeW 阅读全文
posted @ 2017-07-06 14:45 brave-sailor 阅读(176) 评论(0) 推荐(0) 编辑
摘要:前言 上篇文章iOS开发中的这些权限,你搞懂了吗?介绍了一些常用权限的获取和请求方法,知道这些方法的使用基本上可以搞定大部分应用的权限访问的需求。但是,这些方法并不全面,不能涵盖住所有权限访问的方法。 So,笔者在介绍一下剩下的几种权限的访问方法和一些使用上的注意事项,希望能给大家的开发过程带来一丝便利。 最后,笔者将经常使用的权限请求方法封装开源库JLAuthorizationManag... 阅读全文
posted @ 2017-07-05 14:24 brave-sailor 阅读(857) 评论(0) 推荐(0) 编辑
摘要:写在前面 APP开发避免不开系统权限的问题,如何在APP以更加友好的方式向用户展示系统权限,似乎也是开发过程中值得深思的一件事; 那如何提高APP获取iOS系统权限的通过率呢?有以下几种方式:1.在用户打开APP时就向用户请求权限;2.告知用户授权权限后能够获得好处之后,再向用户请求权限;3.在绝对 阅读全文
posted @ 2017-07-05 14:22 brave-sailor 阅读(299) 评论(0) 推荐(0) 编辑
摘要:// 相机权限 func isRightCamera() -> Bool { let authStatus = AVCaptureDevice.authorizationStatus(forMediaType: AVMediaTypeVideo) return authStatus != .rest 阅读全文
posted @ 2017-07-05 14:18 brave-sailor 阅读(2281) 评论(0) 推荐(0) 编辑
摘要:在iOS7以后要打开手机摄像头或者相册的话都需要权限,在iOS9中更是更新了相册相关api的调用 首先新建一个swift工程,在SB中放上一个按钮,并在viewController中拖出点击事件 ok!按钮和事件设置好以后,我们来引入要用到的库,判断摄像头权限,需要引入AVFoundation.fr 阅读全文
posted @ 2017-07-05 11:57 brave-sailor 阅读(1344) 评论(0) 推荐(0) 编辑
摘要:前言 上篇文章iOS开发中的这些权限,你搞懂了吗?介绍了一些常用权限的获取和请求方法,知道这些方法的使用基本上可以搞定大部分应用的权限访问的需求。但是,这些方法并不全面,不能涵盖住所有权限访问的方法。 So,笔者在介绍一下剩下的几种权限的访问方法和一些使用上的注意事项,希望能给大家的开发过程带来一丝 阅读全文
posted @ 2017-07-05 11:52 brave-sailor 阅读(374) 评论(0) 推荐(0) 编辑
摘要:EventKit为获取和操作用户日历事件和提醒提供了一系列的类.在下面的教程中,我的目标是带领你走出利用EventKit建立一个应用程序的第.我的目标是带领你迈出利用EventKit建立一个应用程序的第一步.我将演示如何向用户的日历请求许可,我还将展示几个处理用户响应的例子(当他们授予访问权限,或者 阅读全文
posted @ 2017-07-05 11:48 brave-sailor 阅读(391) 评论(0) 推荐(0) 编辑
摘要:1、NSNotification是系统内部发出通知,一般用于内部事件的监听,或者状态的改变等等,是不可见的2、本地通知与远程通知是可见的,主要用于告知用户或者发送一些App的内容更新,推送一些相关的消息,让用户知道App内部发生了什么事情。 Paste_Image.png Paste_Image.p 阅读全文
posted @ 2017-07-05 11:29 brave-sailor 阅读(349) 评论(0) 推荐(0) 编辑
摘要:Notification是智能手机应用开发中常用的信息传递机制,它不用消耗更多资源去不停的检查信息状态,可以非常好的节省资源。 在iOS中分为两种通知:本地、远程。本地的UILocalNotification由全局的NotificationManager统一管理,我们只需要将本地通知对象添加到系统的 阅读全文
posted @ 2017-07-05 11:08 brave-sailor 阅读(1538) 评论(0) 推荐(0) 编辑
摘要:之前项目需求要实现一个闹钟,github上找了半天发现都是很旧的代码了,所以就准备自己写一个,刚好最近在学习Swift,就用Swift写了一个demo放在这里:https://github.com/Phelthas/Demo_AlarmClock 效果如图: 总结一下,备忘 界面的话一个DatePi 阅读全文
posted @ 2017-07-05 10:54 brave-sailor 阅读(450) 评论(0) 推荐(0) 编辑
摘要:由于 iOS 系统的安全限制,App 如果需要访问设备的通讯录、麦克风、 相册、 相机、地理位置等时,需要请求用户是否允许访问。 有时用户不小心点了“不允许”,后面可能就不知道要去哪里再开启这个权限了。这就要求我们应用在每次调用相关功能的时候先获取相关的授权状态,如果还没授权则弹出授权申请的提示框。 阅读全文
posted @ 2017-07-04 18:33 brave-sailor 阅读(673) 评论(0) 推荐(0) 编辑
摘要:iOS中经常会遇到访问相册、相机、麦克疯、蓝牙、以及推送等权限,所以每次我们要使用这些权限是都要记得查看用户是否允许了,如果用户禁止了你的访问权限,你仍然去调取相册或者相机等,那么就会先出现下面的这个提示。而且是英文的,这时候用户可能有些懵逼了,这个时候我们最好给一个提示,用户点击确定后,我们最好贴 阅读全文
posted @ 2017-07-04 18:28 brave-sailor 阅读(589) 评论(0) 推荐(0) 编辑
摘要:当我升级到Xcode8后,启动我的相机项目,直接crash,输出的日志如下: '2016-07-08 16:41:11.268943 project-name[362:56625] [MC] System group Container for systemgroup.com.apple.confi 阅读全文
posted @ 2017-07-04 15:23 brave-sailor 阅读(287) 评论(0) 推荐(0) 编辑
摘要:简介 我今天用Mac升级了XCode到8.1,Swift版本应该到了swift3,按网上的demo写webview的例子,报一堆错,整了一天才搞定,不想其他人踩坑了! XCode8.1 ,swift3,WebView的正确打开方式是这样的: 创建应用 打开XCode,创建一个新XCode项目 然后选 阅读全文
posted @ 2017-07-04 14:44 brave-sailor 阅读(2724) 评论(0) 推荐(0) 编辑
摘要:公司接下来的项目需要用swift内嵌h5来实现, 以前没有做过swift项目, 现在慢慢将所学的一点一滴记录一下 一个是怕自己忘了- =, 再就是希望大家看到能帮助我哈哈哈 前几天想要直接用swift上手- =发现连初始化什么的都给忘记了, 又乖乖回去先用OC简单的做了一个webView的界面效果如 阅读全文
posted @ 2017-07-04 10:36 brave-sailor 阅读(1359) 评论(0) 推荐(0) 编辑
摘要:1.选中工程,点击右键,New File>在iOS下选中Othe>Empty,生成一个.js的脚本文件,将代码粘贴过去保存; 2.实现过程; 3.点击网页中登录按钮,会调用OC中的signin_go方法; 参考原著出现的错误 1.参考原著的时候,会提示以下错误; 解决方法: 在前面加上try! ; 阅读全文
posted @ 2017-07-04 10:24 brave-sailor 阅读(344) 评论(0) 推荐(0) 编辑
摘要:相机权限 1.1 使用说明 在合适的地方导入#import <AVFoundation/AVFoundation.h> 使用AVAuthorizationStatus类获取当前权限状态 在没有权限的情况下弹出alertView提示跳转。 1.2 代码示例 权限判断 #import <AVFounda 阅读全文
posted @ 2017-07-03 17:59 brave-sailor 阅读(619) 评论(0) 推荐(0) 编辑
摘要:在特定场景下我们需要判断用户是否允许应用获取定位权限 1.导入类库: #import <CoreLocation/CLLocationManager.h> 2.判断用户手机是否开启了定位服务: 这里就要查看CLLocationManager的授权状态,此方法会返回当前授权状态: [CLLocatio 阅读全文
posted @ 2017-07-03 17:50 brave-sailor 阅读(4270) 评论(0) 推荐(0) 编辑
摘要:1.判断用户是否有权限访问相册 #import <AssetsLibrary/AssetsLibrary.h> ALAuthorizationStatus author =[ALAssetsLibrary authorizationStatus]; if (author == kCLAuthoriz 阅读全文
posted @ 2017-07-03 17:49 brave-sailor 阅读(3144) 评论(0) 推荐(0) 编辑
摘要:12 阅读全文
posted @ 2017-07-03 17:46 brave-sailor 阅读(544) 评论(0) 推荐(0) 编辑
摘要:文本框的创建,如下几种方式: UITextBorderStyle.None:无边框 UITextBorderStyle.Line:直线边框 UITextBorderStyle.RoundedRect:圆角矩形边框 UITextBorderStyle.Bezel:边线+阴影 文本创建例子如下: let 阅读全文
posted @ 2017-07-03 16:09 brave-sailor 阅读(217) 评论(0) 推荐(0) 编辑

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