看板 MacDev 關於我們 聯絡資訊
小弟我最近剛學swift 在學到用UIView建立一個藍色區域後 http://i.imgur.com/swlgfhm.jpg
要重新設定這個區域的位置和大小 http://i.imgur.com/YWzneoy.jpg
可是不管我用書上的哪種方法 在執行之後都會出現如下所示的thread 1 http://i.imgur.com/WAMuJgD.jpg
請問該如何解決呢? 還是我有哪裡做錯了? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.40.197.80 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1496855246.A.653.html
panda04056: 你要看的錯誤訊息是右下角顯示的那一行 06/08 01:37
panda04056: 意思是有一個變數的值是nil 06/08 01:37
panda04056: 但是你卻把它拿去用了 06/08 01:39
panda04056: 你的blueView 宣告了兩次 06/08 01:41
tentenlee: 應該說你在didload是宣告一個blueView 然後就把這個 06/08 03:44
tentenlee: blueView用addSubView放到view裡面了 06/08 03:45
tentenlee: 然後你在viewDidAppear的時候使用的這個blueView 並沒 06/08 03:45
tentenlee: 有初始化,又剛好你在宣告他的時候optional是給! 所以 06/08 03:46
tentenlee: xcode沒有去提醒你說 這個物件有可能是nil所以你編譯OK 06/08 03:46
tentenlee: 真正執行的時候blueView是nil就無法塞frame給他 06/08 03:47
tentenlee: 要改很簡單 你只要把viewDidLoad的那個 let blueView = 06/08 03:47
tentenlee: 這個let拿掉 你就正常可以跑了 06/08 03:48
llauoykcuf: 非常感謝! 06/08 10:05