奇怪的语义问题

use*_*409 0 cocoa objective-c

从我从xcode 3改为4时,我不断遇到这个语义问题

我的代码没有任何问题,但是当我使用xcode 4时,这种情况仍然存在......

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

我如何解决它?我试过删除:"self.delegate = [[[NSString alloc] init] autorelease];"

但删除它...不是一个真正的解决方案

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

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


    }

    return self;
}
Run Code Online (Sandbox Code Playgroud)

Phi*_*lls 5

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

真正的答案,不过,将来自问自己:为什么是这样的委托在这里,什么是它的目的是什么?