2012-07-11 88 views
0

我一直从我在Xcode 3更改为4奇怪的语义问题

我的代码工作没有任何问题的时候得到这个语义问题,但这种保留,当我使用的Xcode 4来了...

从不兼容的类型'NSString *'分配'Main *';

我该如何解决?我试图删除: “self.delegate = [[[的NSString的alloc]初始化]自动释放];”

但删除它......是不是一个真正的修复

-(id)init { 
    if (self=[super init]) 
    { 

     self.delegate=[[[NSString alloc] init] autorelease]; 


    } 

    return self; 
} 
+1

一个字符串通常不能成为委托......您的委托在哪里声明? – Dustin 2012-07-11 18:04:16

+0

那么应该怎样去除警告,如何解决?代表在Hover.h中声明 – user1508409 2012-07-11 18:04:44

+2

如何定义'delegate'? (很难想象一个字符串会有用。 – 2012-07-11 18:04:58

回答

5

的字面解释是,你应该使用任何类delegate定义的对象,并指定该对象而不是字符串。 (根据程序逻辑将其传递给现有对象或创建一个新对象)。

real答案虽然会来自问自己:为什么这个代表在这里,它的目的是什么?