`
啸笑天
  • 浏览: 3462089 次
  • 性别: Icon_minigender_1
  • 来自: China
社区版块
存档分类
最新评论
文章列表

apple watch tips

Taptic Engine WKInterfaceDevice.currentDevice().playHaptic(.Click) WKHapticType一共有9种 它们分别是 Notification  //这是在Apple Watch接受通知时的震动 DirectonUp  //上滑到头的震动 DirectionDown  //下滑到头的震动 Success  //成功返回的震动 Failure  //失败返回的震动 Retry  //表示重试的震动 Start  //表示开始的震动 Stop  //表示停止的震动 Click  //轻击的震动     ...
  ios9 企业级分发 iOS9网络适配_ATS 为了强制增强数据访问安全,iOS9 默认会把所有从NSURLConnection 、 CFURL 、 NSURLSession发出的 HTTP 请求,都改为 HTTPS 请求:iOS9.x-SDK编译时,默认会让所有从NSURLConnection 、 CFURL 、 NSURLSession发出的 HTTP 请求统一采用TLS 1.2 协议。这一做法,官方文档称为ATS,全称为App Transport Security,是iOS9的一个新特性。   一个符合 ATS 要求的 HTTPS,应该满足如下条件: Transpo ...

ios9 企业级分发

    博客分类:
  • ios
  必备: 支持https的服务器(iOS7.1开始安装企业应用要求服务器要支持https) download.html manifest.plist BingTuan.ipa 可选: download_57_57.png iTunes_512_512.jpg   download.html: <html>    <head>        <title>download</title>    </head> <body>    <h1>Bing Tuan</h1> ...
KVO (Key-Value Observing) 是 Cocoa 中公认的最强大的特性之一,但是同时它也以烂到家的 API 和极其难用著称。和属性观察不同,KVO 的目的并不是为当前类的属性提供一个钩子方法,而是为了其他不同实例对当前的某个属性 (严格来说是 keypath) 进行监听时使用的。其他实例可以充当一个订阅者的角色,当被监听的属性发生变化时,订阅者将得到通知。   在 Swift 中我们也是可以使用 KVO 的,观察者和被观察者都必须是 NSObject 的子类。这是可以理解的,因为 KVO 是基于 KVC (Key-Value Coding) 以及动态派发技术实现的,而这 ...
Swift 的编程范式 编程范式是程序语言背后的思想。代表了程序语言的设计者认为程序应该如何被构建和执行的看法。常见的编程范式有:过程式,面向对象,函数式,泛型编程等。 一些编程语言是专门为某种特定范式设计的,例如,C 语言是过程式编程语言;Smalltalk 和 Java 是较纯粹的面向对象编程语言;Haskell,Scheme,Clojure 是函数式编程语言。 另外一些编程语言和编程范式的关系并不一一对应,如 Python,Scala,Groovy 都支持面向对象和一定程度上的函数式编程。Swift 也是支持多种编程范式的编程语言。 由于代表了语言背后的思想,编程范式很大程度上 ...
本文由CocoaChina译者ALEX吴浩文翻译自Use Your Loaf博客 原文:Checking API Availability With Swift Swift 2改进了检查API可用性的方法,使其更加容易、安全。 回顾Objective-C的方法
    任何结构体: 一个NSValue对象是用来存储一个C或者Objective-C数据的简单容器。它可以保存任意类型的数据,比如int,float,char,当然也可以是指pointers, structures, and object ids。NSValue类的目标就是允许以上数据类型的数据结构能够被添加到集合里,例如那些需要其元素是对象的数据结构,如NSArray或者NSSet的实例。需要注意的是NSValue对象一直是不可枚举的。   我们可以使用NSValue来辅助我们实现一些简单数据结构的封装。比如我们定义了一个简单的结构体类型   typedef struct ...
我是前言 Autorelease机制是iOS开发者管理对象内存的好伙伴,MRC中,调用[obj autorelease]来延迟内存的释放是一件简单自然的事,ARC下,我们甚至可以完全不知道Autorelease就能管理好内存。而在这背后,objc和编译器都帮我们做了哪些事呢,它们是如何协作来正确管理内存的呢?刨根问底,一起来探究下黑幕背后的Autorelease机制。 Autorelease对象什么时候释放? 这个问题拿来做面试题,问过很多人,没有几个能答对的。很多答案都是“当前作用域大括号结束时释放”,显然木有正确理解Autorelease机制。在没有手加Autorelease Po ...
感谢:http://geeklu.com/2014/05/custom-container-view-controller/       什么是Container View Controller?苹果文档是这么描述的: A container view controller contains content owned by other view controllers. 也就是说一个View Controller显示的某部分内容属于另一个View Controller,那么这个View Controller就是一个Container,比如UIKit中的UINavigatio ...
感谢:http://www.cocoachina.com/ios/20150727/12772.html 本文由CocoaChina翻译小组成员Lollypo(社区ID)翻译自David McGraw原文:10 Practical Tips for iOS Developers Using Storyboards 在这里我将着重讲述10件事情,而不会去全面讲述如何使用Storyboard去创 ...
感谢:http://www.samirchen.com/view-controller-lifecycle-in-ios/ 引言 在 iOS 不断更新的过程中,很多东西也在变化。开发 App 时,最好尽量去拥抱这些变化,去及时跟进。有人喜欢使用原来的 Nib 的方式,有人喜欢纯代码的方式,我觉得在 iOS 7 中应该更积极地去使用 Storyboard。首先,如果能熟练掌握,确实能够更高效地开发;此外,由于苹果控制着这个生态环境,我们只能去积极适应,要不然等到旧的机制被完全抛弃再去更新成本就更高了。本文将要介绍的 View Controller Lifecycle 相关的内容,难免会有纰 ...
感谢:http://nshipster.cn/ibinspectable-ibdesignable/   无论陈词滥调多少次,比起一个需要我们记住并且输入什么的界面来说,如果替换成我们能够看见并可控制的界面的话将会是巨大的进步。 Xcode 6 提供了这样一个替代,在旧技术上建立新的互动。在设计项目的时候建立一个自定义的界面使你可以配置自定义控制并将它们实时显示出来,用 IBInspectable 和 IBDesignable,这将成为可能。 IBInspectable IBInspectable 属性提供了访问旧功能的新方式:用户自定义的运行时属性。从目前的身份检查器(identi ...
  iOS界面调试工具Reveal   http://chuansong.me/n/1308113 Reveal集成指南           http://support.revealapp.com/kb/getting-started/reveal 集成Reveal:不修改您的Xcode工程并加载Reveal http://support.revealapp.com/kb/getting-started/revealxcodereveal Reveal UI 分析工具简单使用 http://www.cocoachina.com/ios/20150818/12991.html ...
  dispatch_set_target_queue的两个作用:   用来给新建的queue设置优先级: dispatch_queue_t serialQueue = dispatch_queue_create("com.oukavip.www",NULL); dispatch_queue_t globalQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND,0); dispatch_set_target_queue(serialQueue, globalQueue); ...
  构造函数的继承   function Animal(){     this.species = "动物";   }   function Cat(name,color){     this.name = name;     this.color = color;   }  一、 构造函数绑定 第一种方法也是最简单的方法,使用call或apply方法,将父对象的构造函数绑定在子对象上,即在子对象构造函数中加一行:   function Cat(name,color){     Animal.apply(this, argume ...
Global site tag (gtag.js) - Google Analytics