實訓(xùn)第一周心得博客

實訓(xùn)第一周心得

第一天

  • FirstDay-Lesson1
    • 老師介紹了playground的使用方法,以及各種功能,
    • 以下是第一節(jié)課所學(xué)習(xí)的代碼
//自動類型推斷 var 定義變量
var str = "Hello, playground"
//let 定義常量(不能修改的量)
let name = "Hello,playground"

//數(shù)據(jù)類型
//字符串
let name1 : String = "Lanou"
//字符
let gender : Character = "M"
//整型
let age :Int = 12
//浮點型
let height : Float = 12.2
//雙精度浮點型
let height1 : Double = 12.222

//字符串
//長度
let length = name.characters.count
//拼接
var name3 = name + "pin\(123)jie"
print("name = \(name3)")

let index = name.index

//遍歷
for item in name3.characters {
    
}

//切割
var school = "Jininshifan"
let index1 = school.index(school.startIndex,offsetBy:2)
let newSchool = school.substring(to:index1)
print(newSchool)

//數(shù)組
var arr = [1,2,3]
var arr1 : [Int] = [Int]()

//增加元素
arr1.append(2)

//刪除元素
let element = arr1.remove(at:0)

//更新元素
arr[1] = 22
print(arr)

//字典
var dic: [Int: Int] = [1:1, 2:2]

// 添加,更新
dic[1] = 2        //更新
dic[3] = 3        //添加

//刪除
dic.removeValueForKey(1)
print(dic)


//rang
let student = "yl"
let startIndex = student.index(student.startIndex,offsetBy :2)
let endIndex = student.index(student.endIndex,offsetBy:-2)
let rang = startIndex..<endIndex
student.substring(with:rang)
  • Firstday-Lesson2
    • 這節(jié)課學(xué)習(xí)了數(shù)組的三種遍歷方式
    • 以及冒泡排序
/*
數(shù)組的三種遍歷方法
一:
 for item in names{
    print(item)
}

二:
//index  索引  item 獲取的值
  for(index,item)in names.enumerated(){
    print("index = \(index),item = \(item)")// “ \\ ”轉(zhuǎn)義字符
}

三:
 for i in 1...<10{
    print(i)
}
*/
//冒泡排序
var arr = [2,8,4,10,31,20]
//冒泡
for i in 0..<arr.count - 1 {//循環(huán)多少輪
    for j in 0..<(arr.count - i - 1){//比較多少次
        //比較換位置
        if (arr[j] > arr[j+1]){
            let temp = arr[j]
            arr[j] = arr[j+1]
            arr[j+1] = temp
        }
    }
}
print (arr)
  • Firstday-Lesson3
    • 第三節(jié)課砰琢,簡單介紹了類的定義,強制拆包(解析)以及可選類型等。
類的定義
/*
 class 類名:父類{
 
 }
*/

class Node :NSObject {
    // 勉耀!強制拆包(解析)
    var data: Int!
    // ?可選類型
    var leftChild : Node?
    var rightChild :Node?
}

var name: String?
print(name!)
  • Firstday-Lesson4
    • 第四節(jié)課蹋偏,介紹了一個相當(dāng)于數(shù)列的題型便斥,
    • 還有函數(shù)的參數(shù)及返回值等
    • 不定參數(shù)
    • 聲明一個inout 函數(shù),并且將傳進來的值進行交換
class Node : NSObject {
    var data  : Int!  // 強制拆包
    var leftChild : Node?  //可選類型
    var rightChild : Node?
    //類中只能寫變量和函數(shù)
}
var node1 : Node = Node()
node1.data = 4

var node2 : Node = Node()
node2.data = 5

var node3 : Node = Node()
node3.data = 6

var node4 : Node = Node()
node4.data = 7

var node5 : Node = Node()
node5.data = 2
node5.leftChild = node1
node5.rightChild = node2

var node6 : Node = Node()
node6.data = 3
node6.leftChild = node3
node6.rightChild = node4

var node7 : Node = Node()   //根節(jié)點
node7.data = 1
node7.leftChild = node5
node7.rightChild = node6


func readData(node : Node){
    var arr = [Node]()  //創(chuàng)建數(shù)組
    arr.append(node)
    while arr.count > 0{
        let temp = arr[0]
        if let _ = temp.leftChild{   //可選綁定
            arr.append(temp.leftChild!)    //左邊孩子裝進數(shù)組
        }
        if let _ = temp.rightChild {
            arr.append(temp.rightChild!)
        }
        print(temp.data)
        arr.remove(at: 0) //讀取完第一個元素的時候刪除
    }
}
readData(node: node7)
//函數(shù)
//1 無參無返回值
func fun1() {
    print("無參數(shù)無返回值")
}
fun1()  //調(diào)用

//2威始,無參數(shù)有返回值
func fun2() -> Int{
    print("無參數(shù)有返回值")
    return 0
}
fun2()

//3,有參數(shù)有返回值
func fun3() {
    print("有參數(shù)有返回值")
}
fun3()

//4,有參數(shù)無返回值
func fun4() {
    print("有參數(shù)無返回值")
}
fun4()


//不定參數(shù)
func func5 (parm : Int...) {
    var result: Int = 0
    for i in parm {
        result += i
    }
    print(result)
}
//聲明了一個inout 函數(shù)  (有兩個參數(shù)) 并且將傳進來的值進行交換
func fun6(a : inout Int, b: inout Int) {
    let temp = a
    a = b
    b = temp
}

var a = 10
var b = 20
fun6(a: &a,b: &b)
print("a = \(a) b = \(b)")

第二天

  • SecondDay-Lesson1
    • override 重寫父類枢纠,init 初始化方法
    • deinit 析構(gòu)函數(shù)
    • 類的存儲屬性和計算屬性
    • lazy 屬性
class Student : NSObject {
    var name : String?
    var age : Int?
    var gender : Bool?
    //override 重寫父類
    override init() {   //初始化方法
        print("創(chuàng)建了一個學(xué)生對象")
    }
    init(age : Int, gender : Bool,name : String) {
        super.init()
        self.age = age
        self.gender = gender
        self.name = name
        
    }
deinit {  //析構(gòu)函數(shù)
    print("對象釋放")
    }
}

var st : Student = Student(age: 12, gender: false, name: "22")
print("st.name = \(st.name) st.gender = \(st.gender) st.age = \(st.age)")
// 類
class Person : NSObject {
    var name : String?  // 存儲屬性
    var age : Int?     // 存儲屬性
    
//計算屬性
var fatherAge : Int {
    set {    //  newValue是默認(rèn)值
    self.age = newValue - 20
    }
    get {
    return self.age! + 20
    }
}
    
// lazy 屬性
    
lazy var st : Student = Student()
//函數(shù)
func eat() {
print("吃飯")
}
    
//
class func happy() {
print("happy")
}
    
static func study() {
print("學(xué)習(xí)")
}
    
//類屬性
static var fatherName : String?
}
//結(jié)構(gòu)體 //1.結(jié)構(gòu)體不能繼承 //2,結(jié)構(gòu)體是值類型字逗,類是引用類型
struct Dog {
    var name : String?
}

var p : Person = Person()
//print(p.st)
p.name = "張三"
var dog : Dog = Dog()
dog.name = "汪柴"

var p1 = p
var dog1 = dog

p1.name = "李四"
dog1.name = "大黃"
print("p.name = \(p.name) dog.name = \(dog.name)")
  • SecondDay-Lesson2
    • 這節(jié)課學(xué)習(xí)了協(xié)議
    • 學(xué)習(xí)了用協(xié)議求出三角形京郑,正方形,長方形的面積葫掉,周長些举。
//定義一個協(xié)議
protocol PersonProtocol {
    func study()
}
//可選協(xié)議
@objc protocol StudentProtocol {
    @objc optional func happy()
    var name1 : String{set get}
}

class Person : NSObject,PersonProtocol,StudentProtocol{
    //internal var name1: String = ""
    var newname : String?
    var name1: String {
        get {
        return self.newname!
        }
        set {
            self.newname = newValue
        }
    }
    func study() {
    }
}
//三角形
//正方形
//長方形

protocol  TuxingProtocol {
    func MJ() -> Float
    func ZC() -> Float
}

class ThreeAngle:NSObject,TuxingProtocol {
    var height : Float!
    var d : Float!
    func MJ() -> Float {
        return height * d / 2.0
    }
    func ZC() -> Float {   //等邊三角形
        return d * 3;
    }
}

class FourAngle: NSObject,TuxingProtocol{
    var b : Float!
    func MJ() -> Float {
        return b * b
    }
    func ZC() -> Float {
        return b * 4
    }
    
}

class zeroAngle:NSObject,TuxingProtocol{
    var radio :Float!
    func MJ() -> Float {
        return radio * radio * 3.14;
    }
    func ZC() -> Float {
        return radio * 2 * 3.14
    }
}

var t : ThreeAngle = ThreeAngle()
t.d = 3
t.height = 4
print("三角形的面積是:\(t.MJ())")
print("三角形的周長是:\(t.ZC())")
  • SecondDay-Lesson3
    • 設(shè)置代理,并且學(xué)習(xí)了男孩女孩購物的題型
    • 練習(xí)了文件下載:開始俭厚,結(jié)束户魏,錯誤等的題型
//文件類

protocol FileProtocol {
    func Begin() ;
    func Xzz() ;
    func End() ;
    func Error() ;
}

class File : NSObject {
    var delegate : FileProtocol?
    override init() {
        
    }
    //開始
    func FileBegin() {
        if let _ = delegate {
            delegate?.Begin()
        }
    }
    //下載過程中
    func FileXzz() {
        if let _ = delegate {
            delegate?.Xzz()
        }
    }
    //結(jié)束
    func FileEnd() {
        if let _ = delegate {
            delegate?.End()
        }
    }
    //發(fā)生錯誤
    func FileError() {
        if let _ = delegate {
            
            delegate?.Error()
        }
    }
}

//處理文件類
class MakeFile : NSObject,FileProtocol {
    internal func Error() {
        print("下載發(fā)生錯誤")
    }

    internal func End() {
         print("下載結(jié)束")
    }

    internal func Xzz() {
        print("文件正在下載")
    }

    internal func Begin() {
        print("下載開始")
    }

    //把四種狀態(tài)傳遞過來
    /*func Begin() {
        print("下載開始")
    }
    
    func Xzz() {
        print("文件正在下載")
    }
    
    func End() {
        print("下載結(jié)束")
    }
    
    func Error() {
        print("下載發(fā)生錯誤")
    }*/
    
}
let file : File = File()
let makefile : MakeFile = MakeFile()
file.delegate = makefile
file.FileBegin()
file.FileEnd()
file.FileXzz()
file.FileError()
  • ThirdDay-Lesson1
    • 泛型,打印數(shù)字挪挤,打印字符串叼丑,打印字符
    • 閉包
    • 冒泡排序以及調(diào)用
//泛型
//打印數(shù)字  打印字符串  打印字符
func MyPrintNumber(parm:Int) {
    print(parm)
}

func MyPrintString(parm:String) {
    print(parm)
}

func MyPrintCharacter(parm:String) {
    print(parm)
}
//使用泛型之后一個就可以了
func MyPrint<T>(parm :T) {
    print(parm)
}
//閉包
func sort(num: Int,num1: Int) -> Bool {
    //if num >num1 true 否則  false
    return num > num1 ? true : false
}
//定義一個變量  把sort賦值給變量
let fun : (Int,Int)->Bool = sort

//使用變量調(diào)用函數(shù)
let result = fun(1,2)
//print(result)
//冒泡排序
var arr = [10,2,5,2,9,2,5,6]
func sortArr(parm:(Int,Int)->Bool) {
    for i in 0..<arr.count - 1 {
        for j in 0..<arr.count - 1 - i {
            if (parm(arr[j],arr[j+1])) {
                let temp = arr[j]
                arr[j] = arr[j+1]
                arr[j+1] = temp
            }
        }
    }
}
sortArr(parm: sort)
print(arr)

func sort1(num:Int,num1:Int) -> Bool {
    return num < num1 ? true : false
}
//調(diào)用
sortArr(parm: sort1)
print(arr)

let block = { (a : Int,b : Int) -> Bool in
    return a > b ? true : false
    
}
sortArr(parm: block)
  • ThirdDay-Lesson2
    • 這節(jié)課進行了小測試
//第一題 對一個數(shù)組進行遍歷,要求使用兩種方式扛门。(數(shù)組自定義)
/*
var arr = [2,4,5,7,6,8,1]
 
/*1,
 for name in arr {
    print(name)
}
*/2,
for(index, item)in arr.enumerated() {
  print("index = \(index), item = \(item)")
}
/*3,
for index in 0..<arr.count {
 print(arr[index])
 }
 */
*/


//第二題  聲明一個函數(shù)鸠信,要求函數(shù)功能要實現(xiàn)對一個數(shù)組的排序,并且把這個數(shù)組返回论寨。(冒泡排序)

/*
func fun(num : Int,num1 : Int) -> Bool {
    return num > num1 ? true : false
}

let fun2 : (Int,Int)->Bool = fun

//let result = fun2[1,2]

var arr = [3,5,14,6,8,43]
func fun2Arr(parm :(Int,Int)->Bool) {
    for i in 0..<arr.count - 1 {
        for j in 0..<arr.count - 1 - i {
            if (parm(arr[j],arr[j+1])) {
                let temp = arr[j]
                arr[j] = arr[j+1]
                arr[j+1] = temp
            }
        }
    }
}
fun2Arr(parm: fun)
print(arr)
*/

//第三題  聲明一個inout函數(shù)星立,這個函數(shù)有兩個參數(shù),并且實現(xiàn)交換傳遞進來的參數(shù)值葬凳。

/*
func fun(a : inout Int, b : inout Int) {
    let temp = a
    a = b
    b = temp
}
var a = 10
var b = 20
fun(a : &a,b : &b)
print("a = \(a) b = \(b)")

*/

/*
 第四題  實現(xiàn)圖書管理系統(tǒng):(60分)
1绰垂、使用數(shù)組管理所有書籍。
2火焰、數(shù)組可以添加劲装、刪除。
3、可以從數(shù)組根據(jù)書名查找書籍占业,并修改書籍的價格绒怨。
4、展示所有書籍清單(書名)纺酸。
提示:
(1)聲明一個書類: Book
給這個類添加: 書名,價格的屬性
(2)聲明一個管理書籍類: BookManger
給這個類添加:添加,刪除,修改書籍價格,展示所有書籍的方法
*/

struct Book {
    var name : String?
    var price : Float?
    init(name : String, price : Float) {
        self.name = name
        self.price = price
    }
    
}
class BookMgr : NSObject {
    lazy var BookArr : [Book] = [Book]()
    
    func addBook(book : Book) {
        self.BookArr.append(book)
      
    }
    func deleteBook(name : String) -> String {
       //查找這本書
        var isExit = false   //不存在的
        for (index, item) in BookArr.enumerated() {
            if item.name == name {
                self.BookArr.remove(at: index)
               isExit = true
            }
        }
        return isExit ? "刪除成功" : "刪除失敗"
    
    }
    
    func updatePrice(price:Float,withName Name:String) -> String {
        var isExit = false
        //先查找圖書
        for(index,item)in BookArr.enumerated() {
            if item.name == Name {
                //修改價格
                BookArr[index].price = price
                isExit = true
            }
        }
        return isExit ? "修改成功" : "修改失敗"
    }
    
    //展示所有的書籍的清單
    func showAllName() {
        for item in BookArr{
            if let _ = item.name{
                print(item.name! + "價錢為\(item.price)")
            }
        }
    }
}

let book = Book(name:"zhangsan",price:10.1)
let book2 = Book(name:"zhangsan",price:10.2)
let book3 = Book(name:"zhangsan",price:10.3)
let book4 = Book(name:"zhangsan",price:10.4)


let mgr = BookMgr()
mgr.addBook(book: book)
mgr.addBook(book: book2)
mgr.addBook(book: book3)
mgr.addBook(book: book4)

print(mgr.deleteBook(name: "zhangsan"))

print(mgr.updatePrice(price: 2, withName: "lisi"))

mgr.showAllName()
  • ForthDay-Lesson1
    • 今天學(xué)習(xí)了UI窖逗,學(xué)習(xí)了UIView的很多屬性,
 //獲取當(dāng)前控制器的view餐蔬,設(shè)置背景顏色為紅色
        //self.view.backgroundColor = UIColor.red
        //iPhone6視圖 :x = 375   y = 667
        
        //設(shè)置坐標(biāo)大小
      /*let rect = CGRect(x: 30, y: 30, width: 100, height: 100)
        let subview : UIView = UIView(frame: rect)
        subview.backgroundColor = UIColor.green
        //添加到父視圖上
        self.view.addSubview(subview)
        
        let subView1 = UIView()
        subView1.frame = CGRect(x: 140, y: 240, width: 100, height: 100)
        subView1.backgroundColor = UIColor.yellow
        self.view.addSubview(subView1)
        //frame  相當(dāng)于父視圖的
        
        //bounds 相對于自身的坐標(biāo)
        print(subView1.bounds)
        */
        
        //center
        let subview3 = UIView()
        self.view.addSubview(subview3)
        subview3.frame = CGRect(origin: self.view.center, size: CGSize(width: 100, height: 100))
        subview3.backgroundColor = #colorLiteral(red: 0.8078431487, green: 0.02745098062, blue: 0.3333333433, alpha: 1)
        
        //透明度
        //subview3.alpha = 0.1    //
        subview3.backgroundColor = UIColor(colorLiteralRed: 0.5, green: 0.5, blue: 0.5, alpha: 0.5)
        let subview4 = UIView(frame: CGRect(x: 10, y: 10, width: 40, height: 40))
        subview4.backgroundColor = #colorLiteral(red: 0.2392156869, green: 0.6745098233, blue: 0.9686274529, alpha: 1)
        subview3.addSubview(subview4)
        
        //tag  使用2000以上的
        subview4.tag = 10001
        //subview4.isHidden = true   //隱藏
        let TagView = subview3.viewWithTag(10001)
        print("subview4 = \(subview4), TagView = \(TagView)")
        
        //用戶交互
        //self.view.isUserInteractionEnabled = false
        
        // superView  父視圖
        print("superView = \(subview4.superview),subview3 = \(subview3)")
        
        //子視圖
        for item in self.view.subviews {
            //從父視圖上移除
            item.removeFromSuperview()
        }
}
    
    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        print("點擊了當(dāng)前控制器")
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

總結(jié)就先到此為止碎紊,不斷學(xué)習(xí)不斷記錄,
希望付出會有回報
最后樊诺,感謝藍(lán)鷗楊少鋒老師的不吝傳授仗考!
敬禮··

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市词爬,隨后出現(xiàn)的幾起案子秃嗜,更是在濱河造成了極大的恐慌,老刑警劉巖顿膨,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锅锨,死亡現(xiàn)場離奇詭異,居然都是意外死亡恋沃,警方通過查閱死者的電腦和手機必搞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來囊咏,“玉大人恕洲,你說我怎么就攤上這事∶犯睿” “怎么了霜第?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長户辞。 經(jīng)常有香客問我泌类,道長,這世上最難降的妖魔是什么底燎? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任刃榨,我火速辦了婚禮,結(jié)果婚禮上书蚪,老公的妹妹穿的比我還像新娘喇澡。我一直安慰自己迅栅,他們只是感情好殊校,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著读存,像睡著了一般为流。 火紅的嫁衣襯著肌膚如雪呕屎。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天敬察,我揣著相機與錄音秀睛,去河邊找鬼。 笑死莲祸,一個胖子當(dāng)著我的面吹牛蹂安,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播锐帜,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼田盈,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了缴阎?” 一聲冷哼從身側(cè)響起允瞧,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蛮拔,沒想到半個月后述暂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡建炫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年畦韭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片踱卵。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡廊驼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出惋砂,到底是詐尸還是另有隱情妒挎,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布西饵,位于F島的核電站酝掩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏眷柔。R本人自食惡果不足惜期虾,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望驯嘱。 院中可真熱鬧镶苞,春花似錦、人聲如沸鞠评。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至聋涨,卻和暖如春晾浴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背牍白。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工脊凰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人茂腥。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓狸涌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親最岗。 傳聞我的和親對象是個殘疾皇子杈抢,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • python學(xué)習(xí)筆記 聲明:學(xué)習(xí)筆記主要是根據(jù)廖雪峰官方網(wǎng)站python學(xué)習(xí)學(xué)習(xí)的,另外根據(jù)自己平時的積累進行修正...
    renyangfar閱讀 3,044評論 0 10
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,167評論 25 707
  • (三) 已是深秋時節(jié)仑性,落葉鋪滿了恒生大學(xué)的校園惶楼,這些樹葉似乎想一口氣落完,也許是不想忍受生命最后一刻的煎熬吧诊杆。校園...
    說魚之樂閱讀 293評論 0 2
  • 電影中,格拉斯被兇猛的大熊咬傷后淘这,瀕臨死亡剥扣。隊長權(quán)衡利弊,為了讓更多人走出荒野铝穷,雇兩個人留下陪格拉斯最后一程钠怯,等他...
    安慰不倒翁閱讀 555評論 0 1
  • 我獨身一人 從西北行至西南 與綠皮火車一路喜悅相伴 一路的漆黑無眠沒有恐懼 燃燒的重生火焰 燒盡了秋帶不走的掙扎 ...
    莫暇閱讀 347評論 13 9