Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 奇怪的语义问题_Objective C_Cocoa - Fatal编程技术网

Objective c 奇怪的语义问题

Objective c 奇怪的语义问题,objective-c,cocoa,Objective C,Cocoa,从xcode 3改为4开始,我就一直遇到这个语义问题 我的代码工作没有任何问题,但当我使用xcode 4时,这个问题会不断出现 :从不兼容的类型“NSString*”分配给“Main*” 我怎么修理它?我尝试删除:“self.delegate=[[NSString alloc]init]autorelease];” 但是移除它。。。这不是一个真正的解决办法 -(id)init { if (self=[super init]) { self.delegate=[[

从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;
}

字面上的答案是,您应该使用定义为的类
delegate
的对象,并指定该类而不是字符串。(根据程序逻辑,向其传递现有对象或创建新对象。)


然而,真正的答案可能来自于问自己:为什么这个委托在这里,它的目的是什么?

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


然而,真正的答案来自于问自己:为什么这个委托在这里?它的目的是什么?

字符串通常不能是委托。。。您的委托声明在哪里?那么a应该如何删除警告,如何修复它?委托在Hover中声明。hh如何定义
delegate
?(很难想象字符串会有用。)不要将字符串用作委托?你想在这里做什么?字符串通常不能是委托。。。您的委托声明在哪里?那么a应该如何删除警告,如何修复它?委托在Hover中声明。hh如何定义
delegate
?(很难想象字符串会有用。)不要将字符串用作委托?你想在这里干什么?