2011-09-14 133 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