我使用下面的代码,它给出了错误:
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;
}
我该如何解决这个问题?
答案 0 :(得分:2)
您正在处理“dataParameter”,它是“animalsViewController”的一个实例,作为NSString。这不起作用,您只能将相同类型的对象相互分配。
答案 1 :(得分:1)
NSLog
期待一个字符串参数。使用格式设置参数将dataParameter
转换为NSString
:
NSLog(@"%@", dataParameter);
对于其他两个分配,您似乎不太可能希望将viewController对象分配给属性,例如NSString
的标题。您更有可能要分配NSString
dataParameter
属性,如下所示:
self.title = dataParameter.title;
或:
nowCountry = dataParameter.country;
由于我不知道AnimalsViewController
有哪些属性,我只是猜测一个属性名称,但这应该说明这一点。