随笔分类 - Swift语言
摘要:类型嵌套,简单来说实在一个类型中包含另外一个类型。我们拿一副扑克来说明。1234567891011121314151617181920212223//类型嵌套struct Poker{//花色枚举enum Suit:String{case Heart="红桃", Club="草花", Diamond...
阅读全文
摘要:在Swift中,通常使用is和as操作符来实现类型检查和转换。下面通过样例来演示使用方法,首先定义几个类。1234567891011//基类,人类class Human{}//男人类class Man:human{}//女人类class Woman:human{}1,is 用来做类型检查(注意:is...
阅读全文
摘要:1,AnyObject :代表任何class类型的对象实例。1234567891011121314151617class Man{}class Woman{}let man = Man()let woman = Woman()var arr:[AnyObject] = [man,woman]for...
阅读全文
摘要:可选类型是Swift的一个特色。它表示一个变量有可能有值,也可能没有值(nil)。声明的方式是“数据类型+问号”。而当要使用一个可选类型的变量是,要在后面加感叹号“!”。123456789var height:Int? //声明一个可选类型,默认值为nilif height == nill{prin...
阅读全文
摘要:在很多iOS产品或者一些应用版本的升级中,新手指导都是一个常用的功能,通过说明页的左右滑动,可以很清晰的展示系统的一些功能特性。制作思路如下:1,如何检测应用是第一次登陆启动我们可以使用NSUserDefaults类来解决这个问题。其特点是不会因应用的关闭、系统的重启而丢失。所以可以用来标记是否启...
阅读全文
摘要:在iOS开发中,UIGestureRecognizer可以方便的响应处理手势事件。而如果要想更精细的处理,我们还需要借助touchesBegan,touchesMoved,touchesEnded等触摸方法。这些方法 都是UIResponder中的方法。视图控制器和视图类,都是UIResponder...
阅读全文
摘要:点击项目,在General选项卡中的“Deployment Info”栏目中可以进行一些项目的配置Deployment Target:支持的iOS SDK的最低版本Device:所支持的设备(iPad或iPhone,或二者皆有)Device Orientation:设备的屏幕方向Status Bar...
阅读全文
摘要:一个应用,无论发布到App Store,还是安装到用户的屏幕上,都需要一个标志性的图标。同时,在应用启动时也要有个启动画面,否则启动时将会是纯黑的屏幕。1,在项目的“General”选项卡下的“App Icons and Launch Images”栏目中可以很方便的设置图标和启动画面,如下图:其实...
阅读全文
摘要:使用Swift进行iOS开发时,不可避免的要进行远程的数据获取和提交。 其数据请求的方式既可能是POST也可能是GET。同不管是POST还是GET又可以分为同步请求和异步请求。 下面通过四个例子来进行演示。1,使用POST方式提交数据(用户id和分数)(1)同步请求12345678910111213...
阅读全文
摘要:在iOS中,实现动画有两种方法。一个是统一的animateWithDuration,另一个是组合出现的beginAnimations和commitAnimations。这三个方法都是类方法。一,使用animateWithDuration来实现动画(1)此方法共有5个参数:duration:动画从开...
阅读全文
摘要:NSUserDefaults适合存储轻量级的本地客户端数据,比如记住密码功能,要保存一个系统的用户名、密码。使用NSUserDefaults是首选。下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的信息。一般来说本地存储数据我们还可以是用SQlite数据库,或者使用自己建立的...
阅读全文
摘要:在iOS游戏开发中,比如2048游戏。有时会需要存储N×N数组的数据模型(如3×3,4×4等)。这里我们演示了三种实现方式,分别是:一维数组、仿二维数组、自定义二维数组(即矩阵结构)。功能是根据传入维度初始化数组,同时提供设置值和打印输出所有值的功能,判断数组是否已满(全不为0),以及目前空位的坐标...
阅读全文
摘要:1,使用<<计算2的N次方12var value = 1<<4 //2的4次方var value = 1<<Int(arc4random_uniform(5)) //2的0~4随机次方(包括0,4)
阅读全文
摘要:在iOS开发中,页面里有时会大量的用到一些控件,如果要一个个单独创建再设置样式的话就显得很麻烦。我们可以创建一个生成各种控件的工厂类,这样在需要的时候调用下就可以了。下面以一个自定义的工厂类为例,其中提供了文本标签,按钮,文本输入框,分段单选控件的生成,效果图如下:工厂类:ViewFactory.s...
阅读全文
摘要:在iOS开发中,如果创建一个自定义的组件通常可以通过继承UIView来实现。下面以一个记分牌组件为例,演示了组件的创建和使用,以及枚举、协议等相关知识的学习。效果图如下:组件代码:ScoreView.swift12345678910111213141516171819202122232425262...
阅读全文
摘要:问题现象:想在页面初始化的时候,使用self.presentViewController方法弹出个告警提示框UIAlertController。但行后报了个如下告警,同时告警框也出不来。12015-03-10 09:55:34.197 Test[1140:29622] Warning: Attem...
阅读全文
摘要:1,下面是一个利用UIView来给页面上绘制灰色方块的例子,效果图如下:代码如下:12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152import UIKitcl...
阅读全文
摘要:自iOS8起,苹果就建议告警框使用UIAlertController来代替UIAlertView。下面总结了一些常见的用法:1,简单的应用(同时按钮响应Handler使用闭包函数)12345678910111213141516171819202122232425262728import UIKitc...
阅读全文
摘要:相比于Objective-C,Swift语言更加简练。有时我们需要把原来写的一些Objective-C代码转换成Swift,下面总结了各种常见的情况。1,构造函数的迁移Objective-C为:12HanggeMenuItem *starMenuItem1 = [[HanggeMenuItem a...
阅读全文
摘要:这个是一个第三方按钮菜单组件,原版是使用Objective-C编写的名为AwesomeMenu的组件,地址是:https://github.com/levey/AwesomeMenu这里改造成了Swift版,效果图如下:使用代码:12345678910111213141516171819202122...
阅读全文