Swift学习的第一个demo,讲解了一些常用的知识点

/**

1. OC [UIView alloc] initWithXXX:]

Swift UIView(XXX:)

类名() == alloc / init 等价

2. 类方法

OC [UIColor redColor]

Swift UIColor.red

3. 访问当前对象的属性,可以不使用‘self.’

建议:都不用,在编译器提示的时候,在添加,会对‘语境’有更好地体会

原因:闭包(类似于OC中的block),需要使用‘self.‘

4. 没有’;‘

’;‘ 的目的是分割语句的,在Swift中,默认不需要。多个语句在一行的时候需要。

5. 枚举类型

OC UIButtonTypeContactAdd

Swift .contactAdd

6. 监听方法

OC @selector

Swift #selector() -- 3.0 有没有参数都不需要加‘:’,调试加‘:‘也是可以的,具体看下面demo

"clickMe","clickMe:" -- 2.0

7. 增加文档注释快捷键 option + cmd + /

8. 显示颜色面板 color + 回车

9. 取消了预编译指令

*/

class ViewController: UIViewController

{

// MARK: - 视图生命周期

// MARK: 视图加载完成

override func viewDidLoad()

{

super.viewDidLoad()

// 多个语句在一行就需要‘;‘隔开。单个语句默认不需要’;‘

let a = 10; let b = 20

print("a=\(a); b=\(b)")

// 1. 创建一个视图

let v = UIView(frame: CGRect(x: 20, y: 40, width: 100, height: 200))

// 设置背景色

v.backgroundColor = UIColor.red // TODO: 应该设置新的颜色

//        v.backgroundColor = #colorLiteral(red: 0.7450980544, green: 0.1568627506, blue: 0.07450980693, alpha: 1)

// 添加到当前视图

view.addSubview(v)

// 2. 创建一个按钮

let btn = UIButton(type: .contactAdd);

btn.frame = CGRect(x: 0, y: 0, width: 60, height: 30)

btn.center = CGPoint(x: v.frame.size.width * 0.5, y: v.frame.size.height * 0.5)

// 方法 clickMe 不带参数的写法

btn.addTarget(self, action: #selector(clickMe), for: .touchUpInside)

// 方法 clickMe(btn: UIButton) 带参数的下面两种写法都可以,调试没有发现问题

btn.addTarget(self, action: #selector(clickMe1(btn:)), for: .touchUpInside)

btn.addTarget(self, action: #selector(clickMe1), for: .touchUpInside);

v.addSubview(btn)

let lv = UIImageView(image: #imageLiteral(resourceName: "contact_checked")); // FIXME: 应该更改图像

view.addSubview(lv)

}

func clickMe() -> ()

{

print(#function)

print("hehe")

}

func clickMe1(btn: UIButton) -> ()

{

print(#function)

print("hehe")

print("btn=\(btn)")

}

}

时间: 2024-10-28 10:23:51

Swift学习的第一个demo,讲解了一些常用的知识点的相关文章

Swift学习之中的一个:常量与变量

正在学习swift中,看了一遍英文文档,如今是在看第二遍,顺便总结出一些知识点.假设有哪里说明值得质疑的地方,请留言/回复指出,谢谢! 常量与变量都会有一个关联的名字(如maximumNumberOfLoginAttempts或者welcomeMessage), 有特定的类型(如数字10或者字符串"Hello").常量的值一旦设置就不能再改动,而变量的值 在将来是能够改动为不同的值的. 声明常量与变量 常量与变量在使用前必须先声明.使用letkeyword声明常量,而变量是使用vark

Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)

在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等. 下面就来说说经常会使用到通知机制中的通知栏框架(Notificaiton),它适用于交互事件的通知.它是位于顶层可以展开的通知列表.它会时不时的提醒你什么软件该更新了,什么人发你微信消息了等. (网上看了下,全面介绍的文章不多,所以就萌生了写这篇的念头,随便当作回顾笔记.下面我就通过官方文档.源代码

Android 通知栏Notification的整合 全面学习 (一个DEMO让你全然了解它)

在android的应用层中.涉及到非常多应用框架.比如:Service框架,Activity管理机制,Broadcast机制.对话框框架.标题栏框架,状态栏框架.通知机制,ActionBar框架等等. 以下就来说说常常会使用到通知机制中的通知栏框架(Notificaiton).它适用于交互事件的通知.它是位于顶层能够展开的通知列表. 它会时不时的提醒你什么软件该更新了,什么人发你微信消息了等. (网上看了下,全面介绍的文章不多,所以就萌生了写这篇的念头.随便当作回想笔记. 以下我就通过官方文档.

CUDA学习,第一个kernel函数及代码讲解

前一篇CUDA学习,我们已经完成了编程环境的配置,现在我们继续深入去了解CUDA编程.本博文分为三个部分,第一部分给出一个代码示例,第二部分对代码进行讲解,第三部分根据这个例子介绍如何部署和发起一个kernel函数. 一.代码示例 二.代码解说 申明一个函数,用于检测CUDA运行中是否出错. kernel函数,blockIdx.x表示block在x方向的索引号,blockDim.x表示block在x方向的维度,threadIdx.x表示thread在x方向的索引号. 这里也许你会问,为什么在x方

深度学习的下一个大热门——Swift

来源商业新知网,原标题:为什么Swift会是深度学习的下一个大热门? 如果你喜欢编程,当你听到Swift,你可能会想到iOS或MacOS的应用程序开发.如果你正在进行深度学习,那么你一定听说过Swift for Tensorflow(缩写为S4TF).然后,你可以问自己:“为什么谷歌要为Swift创建一个TensorFlow版本?”Python和c++已经有了版本;为什么要添加另一种语言?在这篇文章中,我将试着回答这个问题,并概述为什么你应该认真遵循S4TF以及Swift语言本身的原因.这篇文章

Java学习 (一)、下载,配置环境变量,第一个demo

一.在 http://www.oracle.com 下载java JDK 安装到自定义的地方. 二.配置环境变量:在我的电脑→高级系统设置→环境变量 ① 找到Path新增一个路径(该路径为JDK存放的位置的bin,比如我放在D:\J2EE\JDK1.8.0\bin 下),两个路径之间要加分号隔开 ② 为了防止路径改变,可以新增一个变量,变量名自定义,变量值为JDK存放路径. 然后在Path 下新增一个路径为 %JAVA_HOME%\bin  即可. 保存后 运行(win+R) cmd 键入jav

Swift学习笔记(二)参数类型

关于参数类型,在以前的编程过程中,很多时间都忽视了形参与实参的区别.通过这两天的学习,算是捡回了漏掉的知识. 在swift中,参数有形参和实参之分,形参即只能在函数内部调用的参数,默认是不能修改的,如果想要修改就需要在参数前添加var声明. 但这样的声明过后,仍旧不会改变实参的值,这样就要用到inout了,传递给inout的参数类型必须是var类型的,不能是let类型或者字面类型,(字面类型是在swift中常提的一个术语,个人认为就是赋值语句,也不能修改)而且在传递过程中,要用传值符号"&

12套swift学习资源分享

虽然objective-c编程语言在过去很长一段时间都是iOS应用开发的基础语言,且很多iOS开发者对其也深爱有佳,但是随着swift编程语言的问世,迅速发展为开发者追捧的语言.且今年伴随着swift2.0的问世及swift语言的开源,更加奠定了其在今后的发展. 接触过swift语言的童鞋应该都知道,在开发 OS X, IOS, watchOS 和 TVOS 应用上,Swift 毫无疑问就是未来.它结合了 C 和 Objective-C 的众多优点,而且支持 Cocoa 和 Cocoa Touc

Swift学习之每日一tip (3)闭包

闭包介绍 最近在学习swift的过程中,发现很多人都对于swift的闭包有很深的疑惑,今天就以我个人学习swift 1.2版本下的一些经验进行一些分享,如有错漏,望大家指出. ps.<关于Swift学习之每日一tip>我这段时间会持续更新,而其中关于swift的内容都是在今年(2014)春节之后,苹果推出Xcode6.3测试版的之后推出的swift 1.2的语法,关于1.2与1.1的语法,我会在明天的内容中进行一下介绍. 通用闭包 首先,给大家写一段常见的闭包代码 demo{ (name) -