大佬教程收集整理的这篇文章主要介绍了Swift Playground精讲,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Person
,并且创建一个变量
class Person{
var name:String
var age:UInt
init(name:String,age:Uint) {
self.name @H_502_69@= name
self.age @H_502_69@= age
}
}
let Leo @H_502_69@= Person(name: "Leo",age: 25)
@H_944_21@这时候,我们选中Show result,效果如下
@H_944_21@等等,为什么右侧的辅助编辑窗口显示的是Person,而不是直观的信息?原因是,这个类并没有实现协议CustomStringConvertible
,这个协议决定了一个类的实例如何被Log。
@H_944_21@于是,我们新建一个extension
,让这个类遵循协议CustomStringConvertible
,
extension Person:CustomStringConvertible{
var description: String{
get{
return "\(Name) is \(agE) years old"
}
}
}
@H_944_21@这时候,右侧的result area窗口显示的内容就容易理解多了。
import Foundation
public class Person{
public var name:string
public var age:UInt
public init(name:string,age:Uint) {
self.name = name
self.age = age
}
}
extension Person:CustomStringConvertible{
public var description: String{
get{
return "\(Name) is \(agE) years old"
}
}
}
@H_944_21@Tips
//表示当前的Playground对应的Page
public static let current: PlaygroundSupport.PlaygroundPage
//是否需要无限之行,比如写一个交互式的View,那么在执行到最底部之后,仍然要继续执行。
public var needsIndefiniteExecution: Bool
//Page的LiveView,这个View会接受触摸等事件,如果liveView不为空,会自动设置needsIndefiniteExecution为true
public var liveView: PlaygroundLiveViewable?
@H_944_21@举个例子: Utils.swift
。然后,写入一个工具方法来产生随机的方法
extension UIColor{
public static func random()->UIColor{
return UIColor(colorLiteralRed:Float.random0To1,green: Float.random0To1,blue:Float.random0To1,alpha: 1.0)
}
}
extension Float{
public static var random0To1:Float{
get{
let random = Float(arc4random() % 255)/255.0;
return random
}
}
}
@H_944_21@Tips:
@H_944_21@然后,新建一个RandomColorView.swift
,随着点击,能够改变自己的颜色。
import Foundation
import UIKit
public class RandomColorView : UIView{
public override init(frame: CGRect) {
super.init(frame: framE)
self.BACkgroundColor = UIColor.random()
let tap = UITapGestureRecognizer(target: self,action: #SELEctor(RandomColorView.handleTap(tap:)));
addGestureRecognizer(tap)
}
func handleTap(tap:UITapGestureRecognizer){
BACkgroundColor = UIColor.random()
}
required public init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
@H_944_21@然后,在BasicPlayground
加入如下代码
let demoView = RandomColorView(frame: CGRect(x: 0,y: 0,width: 200,height: 200))
PlaygroundPage.current.liveView = demoView
@H_944_21@然后,
@H_944_21@效果 //: 开启一行markup
@H_944_21@markup块
/*: */
@H_944_21@先看一个常见的用法
//: [PrevIoUs](@prevIoUs)
/*:
# Usage
## Unordered List
- First Item
- Secound Item
## ordered List
1. First Item
2. Secound Item
## Note
> This is a note
---
## Image
![Image](image.png "Local image")
## Link
* [How about a link](https://github.com/LeoR_162_11845@obileDeveloper)
## Bold/italic
So my name is **Leo**,you notice that Leo is bold,and this word *italic* is italic.
[Go BACk to Main Page](@H_168_311@mainPage)
*/
@H_944_21@这时候,选择Editor -> Show Rendered Markup,效果如下
@H_944_21@我们来一点点讲解细节
#
和Markdown一样,用来表示标题。两个表示次级标题,以此类推。![Image](image.png "Local image")
表示图片,括号中前面是路径,后面是描述>
表示备注-
和*
都可以表示列表,1.
表示有序列表[How about a link](https://github.com/LeoR_162_11845@obileDeveloper)
表示链接**Leo**
表示加粗,*italic*
表示斜体[PrevIoUs](@prevIoUs) - 跳转到上一页
[Next](@next) - 跳转到下一页
[Go BACk to Main Page](@H_168_311@mainPage) - 跳转到某一页,括号里是页面的名字。
以上是大佬教程为你收集整理的Swift Playground精讲全部内容,希望文章能够帮你解决Swift Playground精讲所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。