iOS给出不兼容的指针类型赋值错误

时间:2011-08-15 11:45:39

标签: ios xcode

我使用下面的代码,它给出了错误:

incompatible pointer types assignment to 'NSString *'
to the parament of the 'NSString *'" where  dataParameter is used.

以下是代码:

 - (id)initWithText:(NSString *)someText passedData:(animalsViewController *)dataParameter  
{

  NSLog(dataParameter);
  self.title=dataParameter;
  nowCountry=dataParameter;

  return self;
}

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

您正在处理“dataParameter”,它是“animalsViewController”的一个实例,作为NSString。这不起作用,您只能将相同类型的对象相互分配。

答案 1 :(得分:1)

NSLog期待一个字符串参数。使用格式设置参数将dataParameter转换为NSString

NSLog(@"%@", dataParameter);

对于其他两个分配,您似乎不太可能希望将viewController对象分配给属性,例如NSString的标题。您更有可能要分配NSString dataParameter属性,如下所示:

self.title = dataParameter.title;

或:

nowCountry = dataParameter.country;

由于我不知道AnimalsViewController有哪些属性,我只是猜测一个属性名称,但这应该说明这一点。