2012-04-23 106 views
0

我得到這個警告,當我嘗試在指數進入一個人物初始化,使指針從整數,未投

初始化,使指針從整數,未投

下面的代碼:

我只想要 謝謝

+0

問題是什麼? – Jasper 2012-04-23 21:12:39

+2

哦,無論如何,你不應該使用'char'作爲變量名。這是來自c的原始類型。 – Jasper 2012-04-23 21:13:15

回答

2

NSString

- (unichar)characterAtIndex:(NSUInteger)index 

是方法。它返回一個unichar,而不是NSString。你正在聲明你的變量是一個NSString指針,但unichar在後臺存儲爲一個整數。

你行應

unichar character = [string charachterAtIndex:random]; 

一個側面說明,你不能打電話給你的變量字符作爲其在C.

保留關鍵字
0

[NSString characterAtIndex]返回一個字符,而不是一個字符串對象。所以你不能把它分配給一個名爲char的NSString(或者其他的命名)。你可以說:

unichar ch = [string characterAtIndex:random]; 
0

本質編譯器警告說,通過寫

NSString * name = [string characterAtIndex:random]; 

您正在存儲一個指向NSString *的指針,返回由返回的字符引用的地址(無符號長整數)。 如果你需要有得到的字符作爲的NSString,你應該使用的方法類似

[NSString substringWithRange: NSRangeFromString([NSString stringWithFormat: @"%d-%d", random, 1])]; 

它返回一個指向一個NSString對象。