2011-08-15 38 views
-1

我使用下面的代碼,它給人的錯誤:的iOS給人不兼容的指針類型的分配錯誤

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

我怎樣才能解決這個問題?

+1

你應該堅持常見的Objective-C約定,並用大寫字母('AnimalsViewController')開始你的類的名字。 – DarkDust

+0

謝謝:)我對這種語言很陌生..我會照顧命名約定。 –

回答

1

NSLog期待一個字符串參數。使用格式化參數dataParameter轉換爲NSString

NSLog(@"%@", dataParameter); 

爲了您的另外兩個任務,似乎不太可能,你想一個的viewController對象分配給像標題屬性,它是一個NSString。它更可能是您要分配的dataParameterNSString財產,是這樣的:

self.title = dataParameter.title; 

或:

nowCountry = dataParameter.country; 

因爲我不知道是什麼性質的AnimalsViewController了,我只是猜測一個屬性名稱,但這應該說明這一點。

+0

感謝它解決了NSLog錯誤,但我怎麼解決self.title = dataParameter;和nowCountry = dataParameter; –

+0

看看我更新的答案... – highlycaffeinated

2

您正在將「dataParameter」作爲NSString作爲「animalsViewController」的實例處理。這不起作用,您只能將相同類型的對象分配給對方。