-
这一遍代码很啰嗦,因为有了好多好多的注释
- Xcode版本 7.0 (swift语法不稳定,有的版本的语法不一样...)
- 第一次写Swift UI 的项目,基本就啰嗦一下
- 一个人的自学之路希望不会再断了
class ViewController: UIViewController {
// 与 storyboard 想关联的,与 oc 中的概念一样
@IBOutlet weak var img: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
// 设置背景色,刚开始逗比了,在 storyboard中设置成了红色,顺道也练习一下怎么修改属性
self.img.backgroundColor = UIColor.whiteColor()
}
// 利用拖线的方式生成 button 的方法
@IBAction func dazhao()
{
// 调用自定义的方法
imageAnimation("dazhao", imageNumber: 87)
}
@IBAction func xiaoZhao() {
imageAnimation("xiaozhao3", imageNumber: 39)
}
// 定义的动画方法
func imageAnimation(imageName: String, imageNumber: Int)
{
// 声明一个空的 image 数组
var imgArray:[UIImage]! = []
for var i = 1; i <= imageNumber; i++
{
// 拼接名称
let name: String? = imageName + "_\(i)"
// 获取app中的图片 参数是:可选值Optionals
let filePath: String? = NSBundle.mainBundle().pathForResource(name, ofType: "png")
// 根据路径获得图片
let image: UIImage? = UIImage(contentsOfFile: filePath!)
// 往数组中添加图片
imgArray.append(image!)
}
// 给动画数组赋值
img.animationImages = imgArray
// 设置重复次数, 学过的都知道...0 代表无限循环,其他数字是循环次数,负数效果和0一样...
img.animationRepeatCount = 1
// 动画完成所需时间
img.animationDuration = 87*0.03
// 开始动画
img.startAnimating()
}
}
-
声明属性方式的对比
- swift中声明属性的方式
@IBOutlet weak var img: UIImageView!
- oc中声明属性的方式
@property (nonatomic, strong)IBOutlet UIImageView *image;
- swift中声明属性的方式
- 通过直观的比较,可以看到 Swift 声明方式完全和oc不一样了...有木有...有木有...但是共同之处还是有的,毕竟都是苹果自家的..
-
@IBOutlet
与IBOutlet
都是指定这里声明的是可以与控件进行绑定的属性,同理可证:@IBAction
与IBAction
效果一样 -
weak
学过ARC内存管理机制,应该都晓得吧...如果不懂的话,面壁去...回去OC中学习ARC去...不过一定要闹明白MRC怎么处理... -
var img: UIImageView!
与UIImageView *image
这里是属性类型的声明,如果看过swift语法的应该晓得这是怎么回事...不懂的话...等下发连接,不懂的客观可以去看看...不过,看不懂也不要骂作者...(因为我就是作者...)
-
-
方法声明的对比
- swift中方法的声明
func imageAnimation(imageName: String, imageNumber: Int)
- oc中方法的声明
- (void) playImageAnimationWithName:(NSString *)name imageCount:(int)count
- swift中方法的声明
- 方法的声明方式完全是变了天一样...swift中声明的方法中,一点也看不到oc的影子,写过javascript的同学,有木有一种熟悉的感觉
function
的感觉出现了...- swift 中声明方法的关键字是
func
- 声明的方法有两个参数,一个String,一个Int
(imageName: String, imageNumber: Int)
,没有返回值,如果存在返回值,你会看到->
- swift 中声明方法的关键字是
关于方法的调用,swift 用的是其他语言例如 .Net, Java 中的 点语法
方法名变化不大,基本上都是oc中的方法名称,不过是通过 点语法 进行调用, 看到了 点语法 瞬间感觉这个世界清新了许多...
自学Swift之常用类型与声明
自学Swift之可选值Optionals
// 声明 可选值Optionals
let name: String? = imageName + "_\(i)"
// 获取app中的图片 参数是: 可选值Optionals
let filePath: String? = NSBundle.mainBundle().pathForResource(name, ofType: "png")
// ofType 是参数的别名, 不能省略
网友评论