2012-07-11 84 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答案雖然會來自問自己:爲什麼這個代表在這裏,它的目的是什麼?