IOS
exialym
fu萝卜
展开
-
IOS-笔记3(Optional,Array,Dictionary,Range等)
Optional的本质就是一个枚举:enum Optional { case None case Some(T)}如果你想循环一个字典,使用一个简单的tuple结构来接:for (key,value) in Dictionary{ println("\(key)=\(value)")}Range 两种闭区间(...)和不包含最后原创 2015-08-16 21:48:24 · 669 阅读 · 0 评论 -
App Nap
在IOS上,为了节能,在程序进入后台后会被杀掉,在OS X上也有类似的机制,称为App Nap。提供了3个API以便你来使用。 第一个用来检测你的程序处于何种状态,这个方法会在应用程序的可见性发生改变时被调用。写在AppDelegate里。func applicationDidChangeOcclusionState(notification: NSNotification) { if N原创 2015-11-26 19:32:46 · 1103 阅读 · 0 评论 -
AVPlayer,AVAudioPlayer,语音合成
使用AVPlayer来播放视频,AVPlayer只管播放视频,将视频显示出来时AVPlayerLayer的工作。而要向视图添加AVPlayerLayer就需要视图必须有一个CALayer来使AVPlayerLayer来作为其子层。在IOS中所有的UIView都有一个CALayer,而OS X中NSView在默认情况下是不使用CALayer的。要在OS X中开启CALayer选中要打开CALayer原创 2015-11-02 19:20:59 · 841 阅读 · 0 评论 -
IOS问题总汇,谁要是会帮解答哦,要是我知道怎么解决了会更新的
2015-09-01:可以通过:littleImageButton.setImage(image, forState: .Normal)来给一个UIButton来设置背景图片,但是如何在设置前判断其是不是为空呢,有的时候背景图片已经存在就不需要再花流量去下载了。2015-09-03:我在一个类中定义了一个MKMapView的变量,在其他类中访问它就是nil,为啥呢定义:原创 2015-09-03 16:28:41 · 493 阅读 · 0 评论 -
使用定位服务
在IOS和OS X设备上都可以使用定位服务,它们共享同一套框架,即Core Location。使用这个框架来获得设备的位置是非常方便的,你不需要关心设备使用什么硬件方式去获取位置,蜂窝基站,Wi-Fi,GPS。框架会根据你设备的硬件情况和你对定位精度的设置来自动选择定位方式。获取权限位置是用户的隐私,所以对设备位置的请求必须获得用户的许可。在OS X上,你不需要额外的配置,只要系统发现你在获取设备的原创 2015-11-23 22:12:31 · 743 阅读 · 0 评论 -
基于文档的应用程序
在OS X上有许多应用是基于文档的,IOS上也很多见。分别使用NSDocument和UIDocument类来表示文件。文档对象最核心的功能便是将编辑好的数据存储到磁盘上,和将磁盘上的文件读取出来并转化成数据。在苹果的系统中,文件有3种类型:平面文件,就像是图片啊,脚本啊这种,适合轻量级文件,它们会被整体加载到内存中文件包,就像pages这样的东西,对于用户呈现的是一个文件,其实是一个包含多原创 2015-11-18 11:14:23 · 746 阅读 · 0 评论 -
SceneKit
概述SceneKit是用来构建3D场景的框架,且可以与Core Animation和SpriteKit无缝交互。在SceneKit中可以直接引入COLLADA行业标准文件制作好的3D模型或场景。与SpriteKit一样,SceneKit通过场景(SCNScene)来显示物体,场景包涵在SCNView。场景内同样是以节点的结构来呈现物体。场景里可以包含这些类型的项目:几何体 代码建立的3D对象或从文原创 2015-11-02 13:10:55 · 1922 阅读 · 1 评论 -
(转)NSURLSession使用说明及后台工作流程分析
这个版本看比较舒服http://www.cocoachina.com/industry/20131106/7304.html NSURLSession使用说明及后台工作流程分析 NSURLSession是iOS7中新的网络接口,它与咱们熟悉的NSURLConnection是并列的。在程序在前台时,NSURLSession转载 2015-11-21 22:38:29 · 464 阅读 · 0 评论 -
从网络请求数据
NSURL这是最最基础的类,访问网络资源离不开它,它有不少很有用的方法,比如从字符串创建一个URL。还有创建一个相对于其他URL的URLlet url = NSURL(string: urlString)let relativeurl = NSURL(string: "\(Int(width))/\(Int(height))/sports/", relativeToURL: NSURL(strin原创 2015-11-21 21:20:06 · 340 阅读 · 0 评论 -
SpriteKit
这是一个用来开发2D游戏的框架。 整个游戏由场景组成,即SKScene的子类。然后让SKView呈现场景,当然在各个场景之间是可以切换的。 在每个场景中都是SpriteKit节点,每个节点都有父节点,也可以有子节点。所有节点的根节点都是SKScene。不同的节点有不同的功能:SKSpriteNode 显示一个图像或一个彩色矩形。SKLabelNode 显示文字SKShapnode 显原创 2015-10-29 16:04:01 · 574 阅读 · 0 评论 -
绘制自定义的图形
首先,在你的应用中想绘制图形的区域加一个NSView(OS X)或UIView(IOS)的子类。并建好对应的Cocoa或Cocoa Touch文件,它们也应是NSView(OS X)或UIView(IOS)的子类。一定要记得将文件和StoryBoard里的视图关联起来。接下来在文件里复写drawRect(dirtyRect: NSRect)。这个函数只接受一个脏矩形作为参数,这是这个视图中真正需要更原创 2015-10-26 22:09:55 · 1066 阅读 · 0 评论 -
Core Motion
Core Motion是苹果提供的一个框架,用来读取设备中的传感器数据。加速计等使用CMMotionManager类来管理这些硬件传回来的数据。var motionManager = CMMotionManager()self.motionManager.startDeviceMotionUpdatesToQueue(NSOperationQueue.mainQueue()) { (motion:C原创 2015-11-25 23:34:19 · 812 阅读 · 0 评论 -
共享与通知
共享原创 2015-12-12 20:27:25 · 1027 阅读 · 0 评论 -
文字检测
苹果提供了一个方法,可以从一大串字符串中提取出有意义的字符串,比如URL,日期,地址等 let detector = try? NSDataDetector(types: NSTextCheckingTypes(NSTextCheckingAllTypes)) let inputText = inoutText.string var resultS原创 2015-12-13 21:16:20 · 837 阅读 · 0 评论 -
IOS-笔记6(拓展,协议)
Extensions 使用这个可以给现存的类,结构体和枚举添加属性和方法,属性的话只能添加计算属性。现有的属性和方法不可以被复写。可以很简单的添加一些小方法,也可以用来构建整个软件的构架。protocol 这是一个数据类型,但是他只有声明没有实现。实现由使用这个协议的类和枚举和结构体来实现。 协议可以继承。 在写协议的时候,声明属性时需要原创 2015-08-18 17:27:22 · 720 阅读 · 0 评论 -
IOS-注意事项
presentingViewController这个值在viewWillAppear里才能读到,在之前读会返回nil。原创 2015-09-05 20:08:49 · 609 阅读 · 0 评论 -
IOS-笔记11(StoryBoard自动布局)
AutoLayout,经验比较重要,如果你设置完不是你想要的样子试试到各控件的标尺选项卡里删掉那些奇奇怪怪的数字,还有hugging和Compression Resistance来设置那些控件优先被拉伸或压缩原创 2015-08-21 16:33:29 · 523 阅读 · 0 评论 -
隐藏iOS状态栏(iOS 9)
首先在ViewController中覆写prefersStatusBarHidden() override func prefersStatusBarHidden() -> Bool { return true }再调用self.prefersStatusBarHidden()UIApplication.sharedApplication().setStatusBarH原创 2016-02-13 23:20:19 · 583 阅读 · 0 评论 -
(转)cocoapods使用教程
原文地址:http://www.bubuko.com/infodetail-425274.html虽然网上关于CocoaPods安装教程多不胜数,但是我在安装的过程中还是出现了很多错误,所以大家可以照下来步骤装一下,我相信会很好用.前言在iOS项目中使用第三方类库可以说是非常常见的事,但是要正确地配置他们有时候是非常繁琐的事情,幸运的是CocoaPods是一个很好的解决方案。什么是CocoaPods转载 2015-12-26 22:30:49 · 668 阅读 · 0 评论 -
Core Data
Core Data是用来将模型对象持久化储存的框架,可以保存XML、atomic、SQLite格式的文件。这里使用SQLite来举例。在你新建一个工程的时候,选择use Core Data,Xcode会帮你做一些准备工作。在这里一共有这么几个东西,持久化储存文件,持久化储存协调器,托管对象模型,托管对像上下文。一个托管对象模型中会有多个实体,这些实体可以储存在不同的持久化储存文件中一个持久化储存原创 2015-12-26 17:18:15 · 760 阅读 · 0 评论 -
Handoff
谁再送我一个iPad,或者给我600块申请个Mac的开发者账户。。。我就测试。。。原创 2015-12-03 18:15:27 · 630 阅读 · 0 评论 -
EventKit
这是在IOS和OS X下都可以使用的框架。用来读取,修改和创建日历上的事件。 事件被储存在一个事件储存库中,这个库中会包含多个日历,他们都是EKCalender对象。每个事件都是一个EKEvent对象,包括描述文本,起止时间,事件的位置,事件的创建时间和上一次的修改时间。 创建一个事件库的实例:lazy var store: EKEventStore = EKEventStore()要访问用户的原创 2015-12-02 19:02:43 · 839 阅读 · 0 评论 -
Touch ID
这是在IOS上验证用户身份的操作,使用Local Authentication框架,在这个框架里每种验证用户身份的方法称为策略,现有的策略有两种,一个是只使用Touch ID的策略:DeviceOwnerAuthenticationWithBiometrics,一个是使用Touch ID和设备密码的策略:DeviceOwnerAuthentication。 首先创建一个上下文环境,我们将在这个环境原创 2015-11-26 20:50:49 · 521 阅读 · 0 评论 -
多窗口IOS App
IOS设备是可以接外接屏幕的。如果想在两个屏幕上显示不同的内容,你需要2个窗口和两个viewController。设置第二个屏幕视图的函数: func setupScreen(screen: UIScreen){ if self.secondWindow != nil { return } self.second原创 2015-12-13 20:41:02 · 1176 阅读 · 0 评论 -
IOS-笔记13(Closures, Multithreading)
如果Closures捕获的外部变量直接或间接的指向Closures自己,那么就会在内存中形成循环,这两个对象永远不会被释放,在闭包的最前面加上[unowned varname]。Multithreading 队列:IOS里包含很多队列,每个队列里都有排着队的函数或闭包等待被执行。每个队列对应一个线程。 有一个特殊的队列叫主队列,所有与UI有关的操作只能发生在这里。所原创 2015-08-24 15:17:43 · 452 阅读 · 0 评论 -
集合视图
像iPad的桌面那样的布局就是使用集合视图实现的,一般来说集合视图提供一个类似于网格状的布局,不过如果你提供一个UICollectionViewLayout的子类并提供给集合视图,那么你可以创建更加复杂的视图。 与TableView类似的,CollectionView也使用了数据源和委托。CollectionView显示一个个的CollectionViewCell对象,与tableViewCell原创 2015-11-11 19:34:00 · 493 阅读 · 0 评论 -
IOS-笔记7(代理)
Delegation这是IOS开发中很常用的数据传送模式,用于View向Controller请求数据。用这种方法首先在View中定义一个协议,来描述原创 2015-08-18 21:21:04 · 691 阅读 · 0 评论 -
IOS-笔记16(Animation)
UIView的成员的动画;View之间转换的动画;Core Animation:底层的,强大的动画框架;Dynamic Animation:基于物理引擎的动画。UIView的成员的动画: 一个调用即可,动画在另一个线程执行,这段设置执行过后会立即执行之后的代码: UIView.animateWithDuration(3.0,//执行时间原创 2015-08-27 11:45:22 · 371 阅读 · 0 评论 -
IOS- 笔记1(杂)
swift和objective-c基本可以互相替换,oc有25年的历史,swift是吸收了最近各种语言的优势开发出的新语言。 MVC是一种软件设计模式,被广泛运用于IOS的开发。 viewController.swift即MVC中的C controller,Main.storyboard即V view。 首先构建View,不需要编写代码。你的每一个场景都会变成一个小原创 2015-08-14 20:38:50 · 417 阅读 · 0 评论 -
IOS-笔记9(多MVC,View间转换)
多MVC设计模式IOS中提供了几个Controller,它们使用其他MVC作为视图: UITabBarController,UISplitViewController,UINavigationController原创 2015-08-19 20:15:10 · 693 阅读 · 0 评论 -
IOS-笔记15(Unwind Segue,Action Sheets,Alert,NSTimer)
Unwind Segue 这个Segue不会创建新的MVC,而只是跳转到现有的MVC。 当你想要创建一个Unwind Segue时,你将View的右上角的Exit拖到激发的控件上,这时会有特别的方法显示出来。这些方法是你之前在其他MVC里创建的,格式是:方法前要加上@IBAction,参数是UIStoryboardSegue。这样的Segue还是要准备的。在segue发原创 2015-08-26 17:56:17 · 545 阅读 · 0 评论 -
IOS-笔记12(ScrollView)
ScrollView: 最基本的,使用时应先设定你需要滚动的画布的大小:scrollview.contentSize = CGSize(width:1200, height: 2000) 接下来设置你要添加的子View:aerial.frame = CGRect(x: 150, y: 200, width: 2500, height: 1600)原创 2015-08-22 18:51:19 · 421 阅读 · 0 评论 -
IOS-笔记19(Model Segue,Camera,File System)
Model Segue是Segue的一种,它会拿下整个屏幕的控制权。原创 2015-08-31 11:49:22 · 1114 阅读 · 0 评论 -
IOS-笔记4(类,结构体,枚举)
class{}struct{}enum{}他们都有自己的属性和方法,有一些小不同:他们都可以有函数,都可以有计算型属性:原创 2015-08-17 13:30:26 · 540 阅读 · 0 评论 -
IOS- 笔记2(闭包应用例)
@IBActionfunc operate(sender: UIButton) { let operation=sender.currentTitle! if !firstType{ enter() } switch operation{ ca原创 2015-08-16 15:59:48 · 444 阅读 · 0 评论 -
IOS-笔记17(NSNotificaton,Application Lifecycle,UIApplication)
NSNotification 这和安卓中的广播很类似,我这个广播发出去,有好多人注册监听。 当你想接受一个广播时,首先得到通知中心: var note = NSNotificationCenter.defaultCenter() 然后注册监听: note.addObserverForName(name: String原创 2015-08-28 20:12:32 · 569 阅读 · 0 评论 -
IOS-笔记8(手势)
Gestures 使用UIGestureRecogninzer的子类,使用手势一般分为两步: 首先将手势识别器加到需要识别手势的View上,这通常由一个Controller来完成。接下来写一个方法来处理识别到手势的操作,这件事有时由View来完成,有时由Controller来完成。看需要做什么操作。原创 2015-08-19 17:22:01 · 778 阅读 · 0 评论 -
IOS-笔记18(Core Motion,Core Location,Map Kit)
Core Motion 使用CMMotionManager。首先检查你想用的硬件是否可用,接下来说明你要获取数据的频率,最后注册一个闭包,每次得到新值时执行。原创 2015-08-29 16:41:56 · 574 阅读 · 0 评论 -
IOS-笔记5 (swift和OC,View大小和位置)
Objective-c和swift:NSString----->Stirng NSArray------->Array NSDictionary------>Dictionary Int Float Doulbe Bool------>NSNumber这些可以用as强制互相转换,比如你将swift中的Array转换成了OC中的NSArray,你就可以调用N原创 2015-08-17 21:03:33 · 1704 阅读 · 0 评论 -
OS X中的表格视图
OS X中的表格视图与IOS中的表格视图挺像的,区别在于OS X中的表格可以有多个列,还可以对各个列进行排序。 列之间通过id进行区分if tableColumn?.identifier == "Title" { textField?.stringValue = song.title} else if tableColumn?.identifier == "Duration" {原创 2015-11-11 13:57:38 · 568 阅读 · 0 评论