推 ckvir: 如果改成 selector:Selector("initFoo") 呢? 03/12 14:53
推 ckvir: 或試試 selector:"initFoo" 不加括弧 03/12 14:56
推 ckvir: 以及加上 @objc func initFoo {... 試試看 03/12 15:00
剛才試了一下 有沒有加Selector() 和有沒有@objc一共4種組合都會Crash
※ 編輯: fishead1116 (211.21.229.247), 03/12/2015 15:09:12
推 ckvir: 有 Crash 的訊息嗎? 03/12 15:18
在Appdelegate出現
Thread 1: EXC_BAD_ACCESS(code=1
把enable zombie object 選項打開會出現
[(Project名稱).ViewController retain]: message sent to deallocated instance
※ 編輯: fishead1116 (211.21.229.247), 03/12/2015 15:25:32
→ uranusjr: 看起來是你自己被 dealloc 了, 不是 selector 的問題 03/12 15:42
→ uranusjr: 請提供更多資訊以及能實際重現問題的範例 03/12 15:42
你這麼一說我才發現如果開空Project的話無法重現= =""
我已經把viewDidLoad砍到剩那一行還是有問題,
class裡有幾個用storyboard拉的UILabel,UIButton,UIImageView
class有實作CBCentralManagerDelegate,CBPeripheralDelegate
不過那幾個方法完全沒使用到
※ 編輯: fishead1116 (211.21.229.247), 03/12/2015 16:00:37
BTW 同一個.swift檔案還有一個enum和一個struct
是說,Swift不是自動會dealloc的嗎?
※ 編輯: fishead1116 (211.21.229.247), 03/12/2015 16:03:10
→ darktt: 你的timer被ralease了,建議採用property保持timer的 03/12 16:51
→ darktt: reference 03/12 16:51
還是一樣耶,我上傳我的範例
http://ppt.cc/fIRF
我是用模擬器iOS7.1 和iOS8.1 iPhone 5S 和iPhone 6跑的
※ 編輯: fishead1116 (211.21.229.247), 03/12/2015 17:02:11
推 ckvir: Swift 有一些情況是不會自動 dealloc 的,所以會造成 memor 03/12 17:13
→ ckvir: y leak 03/12 17:13
※ 編輯: fishead1116 (118.163.221.141), 03/12/2015 17:24:53
推 johnlinvc: 不知道為何你的ViewContorler會被release 03/13 18:12
→ johnlinvc: hacky的解法是在AppDelegate裡面開一個var 指向他 03/13 18:13
→ johnlinvc: 這樣可以不會當...但是root Cause 未知 03/13 18:14
其實只要不要用init開頭就沒有問題 可能跟ViewController的某些方法相衝到了吧
推 ckvir: 還真的滿奇怪的,我也想知道解答 03/13 20:33
※ 編輯: fishead1116 (118.171.154.94), 03/13/2015 22:41:22