
Swift大讲堂
文章平均质量分 86
1、详解Swift基础语法。
2、详解Swift进阶语法。
黑码哥
如果知识不沉淀,学习将毫无用处。
展开
-
UIScrollView + 三张UIImageView实现一个无限轮播图
实现思路: UIScrollView上放置 左, 中, 右三个UIImageView, 默认只展示中间位置的UIImageView, 然后动态调整UIImageView上应该放置的image, 例如: 刚开始时, 左中右分别放置的是图片数组中最后一张,第0张,第1张图片, 当用户向右滑动时, 此时展示应该是第一张图片,当滑动结束时, 手动将scrollView的偏移量调整为中间位置, 同时调整对应imageView上展示的图片, 此时左中右分别对应的应该是 第0,1,2张图片;原创 2025-04-24 15:50:21 · 495 阅读 · 0 评论 -
如何写好客户端技术方案
作为一个开发者,每次需求评审完事儿之后,首要的事情就是做技术方案,今天就拿我平时做技术方案的思路,写一下如何撰写出一个好的技术方案。 并会在下方附上方案模板,有不同观点的可以评论沟通。原创 2022-02-15 17:27:18 · 3752 阅读 · 0 评论 -
016--swift编写tableview实战
//// ViewController.swift// tableView讲解//import UIKit// OC:@interface ViewControlleer() // Swift中如下class ViewController: UIViewController,UITableViewDataSource{ override func viewDi原创 2018-01-05 14:11:07 · 1006 阅读 · 0 评论 -
013--swift计算型属性和懒加载的区别
计算型属性和懒加载的区别原创 2017-06-21 22:35:17 · 1013 阅读 · 1 评论 -
014--利用模型的didSet属性给UI赋值
**注:其实就是相当于在一个View中实现其中的一个属性的set方法,该属性通过set方法将值传进来,然后我们获取到该值,将该值得内容付给View.**上Swift代码:首先建立模型://// Person.swift// Swift设置模型数据//import UIKitclass Person: NSObject { var name:Strin原创 2017-06-21 23:06:42 · 1047 阅读 · 0 评论 -
015--Swift反射机制
目的:1.知道Swift中有命名空间 -在同一个命名空间下,全局共享! -第三方框架使用Swift如果直接拖拽到项目中,从属于同一个命名空间,很有可能冲突! -以后尽量都要用cocoapod 2.重点知道Swift中的NSClassFromString(反射机制)的写法 -反射最重要的目的,就是为了解耦OC反射机制 NSClassFromStri原创 2017-06-22 10:21:09 · 2128 阅读 · 3 评论 -
012--swift实现通讯录(用到基础语法)
https://github.com/liyuunxiangGit/-Swift-原创 2017-06-20 20:30:40 · 1074 阅读 · 0 评论 -
playGround的使用
playground的用法就是能够在我们不运行的情况下很容易的看到我们所做的东西的UI 以及我们计算东西不用我们计算完运行他就可以很直观的看到运行后的东西 还可以进行对比 是很好用的一个工具原创 2016-04-13 20:20:00 · 2674 阅读 · 0 评论 -
002--swift初体验
语法: //1、@UIApplicationMain就是程序的入口 //2、只有.swift 没有.h/.m 在swift中默认全局共享 //3、所有的代码都包装在{},默认方法都有一个缩进代码展示:class ViewController: UIViewController { override func viewDidLoad() { super.v原创 2017-06-06 17:18:17 · 779 阅读 · 0 评论 -
003--swift语法基础(变量和常量)
// 1、定义变量var \常量let// 常量let 定义之后不能修改// 2、自动推导,变量/常量的类型会根据右侧的代码执行结果,推导对应的类型// 热键:option+click// 3、在swift中对类型要求异常严格// 任何不同类型的数据之间,不允许直接运行// 不会做默认的隐式转换,所有的类型确定,都要由程序员负责(下方解决办法)// 4、swift中原创 2017-06-07 09:46:46 · 936 阅读 · 0 评论 -
004--swift基础语法(Optional 可选项)
/** 定义可选项使用? 解包使用! 准备计算 */ ---- 1. 原始可选项定义 ---- none 没有值,或者 some 某一类值 let x:Optional = 10 ---- 2. 简单的定义 ---- `?` 用来定义y是一个可选Int 类型,可能没有值,也有可能是一个整数 let y : Int? = 2原创 2017-06-07 10:42:08 · 769 阅读 · 0 评论 -
005--swift基础语法(逻辑分支)
简单的分支 if语句 // MARK: - 简单的分支 func demo(){ let x = 10 /** 1. 条件不需要() 2. 语句必须有{} --很多公司的代码规范中,禁止不使用{} */ if x > 5{ print("大了")原创 2017-06-07 16:09:46 · 711 阅读 · 1 评论 -
006--swift基础语法(switch、for循环、for反序遍历)
switch//switch 可以针对任意类型的值进行分支,不再局限在整数(OC必须为整数)//switch 一般不需要 break//switch 如果要多值,使用`,`//所有的分支至少需要一条指令,如果什么都不干,才使用break func demo(){ let num:Double = 10 switch num { //原创 2017-06-08 11:41:58 · 1086 阅读 · 0 评论 -
007--swift基础语法(字符串)
字符串遍历//MARK: -字符串遍历 func demo() { //NSString不支持一下方式的遍历 let str:String = "我真的好像再活五百年" for c in str.characters { print(c) } }字符串的长度//MARK: -原创 2017-06-08 15:52:18 · 805 阅读 · 0 评论 -
008--swift基础语法(数组)
数组的定义//MARK: -数组的定义 func demo1() { //OC使用[]定义数组,Swift一样,但是没有`@` //自动推导的结果是[String] ->表示数组中存放的都是String //跟OC中的数组指定的泛型类似 let array = ["张三","小芳","小羊"] prin原创 2017-06-08 18:00:05 · 829 阅读 · 0 评论 -
009--swift基础语法(字典)
字典的定义// 1、定义 func demo1() { // OC中使用{} // Swift中同样使用[] let dict = ["name":"章","age":18] as [String : Any] print(dict) //定义字典的数组 - 提示,这种格式在开发中使用的最多原创 2017-06-12 23:15:48 · 1028 阅读 · 0 评论 -
010--swift函数
函数定义/// 函数定义,格式: 函数名(形参列表)->返回值类型 /// /// - Parameters: /// - x: 输入X /// - y: 输入Y /// - Returns: 返回int类型 func sum(x:Int,y:Int) -> Int { return x + y }调用://原创 2017-06-13 15:03:37 · 881 阅读 · 0 评论 -
011--swift中的闭包
//闭包类似于OC中的block,但是比OC的block应用面更广/** 闭包 1.提前准备好的代码 2.在需要的时候执行 3.可以当做参数传递 */使用常量记录函数的演练 //使用常量记录函数的演练 func demo() { print(sum(x: 10, y: 10)) //1>定义一个常量记录原创 2017-06-14 18:43:02 · 802 阅读 · 0 评论