2012-04-23 47 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对象。