作者llauoykcuf (阿布揪)
看板MacDev
标题[问题] 在写swift的时候出现thread 1
时间Thu Jun 8 01:07:24 2017
小弟我最近刚学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://webptt.com/cn.aspx?n=bbs/MacDev/M.1496855246.A.653.html
1F:推 panda04056: 你要看的错误讯息是右下角显示的那一行 06/08 01:37
2F:→ panda04056: 意思是有一个变数的值是nil 06/08 01:37
3F:→ panda04056: 但是你却把它拿去用了 06/08 01:39
4F:→ panda04056: 你的blueView 宣告了两次 06/08 01:41
5F:推 tentenlee: 应该说你在didload是宣告一个blueView 然後就把这个 06/08 03:44
6F:→ tentenlee: blueView用addSubView放到view里面了 06/08 03:45
7F:→ tentenlee: 然後你在viewDidAppear的时候使用的这个blueView 并没 06/08 03:45
8F:→ tentenlee: 有初始化,又刚好你在宣告他的时候optional是给! 所以 06/08 03:46
9F:→ tentenlee: xcode没有去提醒你说 这个物件有可能是nil所以你编译OK 06/08 03:46
10F:→ tentenlee: 真正执行的时候blueView是nil就无法塞frame给他 06/08 03:47
11F:→ tentenlee: 要改很简单 你只要把viewDidLoad的那个 let blueView = 06/08 03:47
12F:→ tentenlee: 这个let拿掉 你就正常可以跑了 06/08 03:48
13F:→ llauoykcuf: 非常感谢! 06/08 10:05