2011-09-14 175 views
1

我想在應用中包含Growl支持,但設置代理時會崩潰。根據http://growl.info/documentation/developer/implementing-growl.php,我只是設置代表像[GrowlApplicationBridge setGrowlDelegate:@""];這樣的代表,因爲我只需要使用Growl作爲基本用法,但運行時會崩潰。實施咆哮的問題

Xcode中顯示了該行以下警告:

Semantic Issue: Incompatible pointer types sending 'NSString *' to parameter of type 'NSObject<GrowlApplicationBridgeDelegate> *'

上的任何想法如何解決這個問題?

修正:我設置添加到我的頭文件,並委託設置爲自

固定2:其實並不是說,這是我在使用具有一個bug咆哮SDK版本,固定與咆哮v1.2.2。

+0

空字符串與零對象不同。是什麼讓你認爲空字符串常量是一個設置爲委託的好對象? –

+1

咆哮文檔如此說。 – BytesGuy

+0

這是一個很好的答案:-)!我檢查了文檔,他們提到它是1.1中的一個錯誤。目前的版本是1.2.2,所以他們可能會修正它?我找不到公開的錯誤跟蹤器來確認。 –

回答

0

這是我使用的咆哮sdk的版本有一個bug,修正與咆哮v1.2.2。

3

不要設置委託(不要那一行),你應該沒問題。

如果您需要一個委託,您必須將其設置爲實現協議的類的實例。

+2

或將其設置爲零。 – Flyingdiver

0

將其轉換爲無類型對象以消除警告。

[GrowlApplicationBridge setGrowlDelegate:(id)@""]; 
+1

這會在嘗試將委託消息發送到字符串對象時導致運行時錯誤。 – Flyingdiver