2010-08-26 59 views
0

我需要傳遞一個字符到第no行。 2:第一方法我嘗試,如何通過unichar對象?

1) unichar dicttxt = [[myword lowercaseString] characterAtIndex:0]; 

    2) fileName = [[NSBundle mainBundle] pathForResource:dicttxt ofType: @"txt"]; 

第二方法I試過,

NSString *dicttxt = [[myword lowercaseString] characterAtIndex:0]; 

fileName = [[NSBundle mainBundle] pathForResource:dicttxt ofType: @"txt"]; 

兩種方法表明錯誤Make pointer from integer without a cast.

+0

爲什麼你不使用NSString的任何特定原因? – 2010-08-26 05:46:12

回答

6

而不是使用一個字符,使用:

NSString *dicttxt = [[myword lowercaseString] substringWithRange:NSMakeRange(0, 1)]; 
fileName = [[NSBundle mainBundle] pathForResource:dicttxt ofType:@"txt"]; 

或者(我完全忘記了這個方法),以下是功能上相同的alent上述,但更簡潔:

NSString *dicttxt = [[myword lowercaseString] substringToIndex:1]; 
fileName = [[NSBundle mainBundle] pathForResource:dicttxt ofType:@"txt"];  

這些將工作,只要:

  1. myword具有至少1
  2. myword的長度不與複合字符開始(即「café」沒問題,但「可能不是」)。
1

Dreamlax的答案是正確的,但它沒有解決的原因,您的問題:unichar是不是一類,並有一個unichar對象沒有這樣的事情。在Xcode如果命令雙擊unichar,就說明你的聲明:

typedef unsigned short unichar; 

換句話說,unichar是別名的基本整數類型unsigned short