2011-01-31 321 views
0

我正在使用var current_query來跟蹤要在我的應用程序中加載的URL。當我使用靜態類型字符串來規範current_query時,即current_query = @"hey";它的工作是預期的,但是當我開始使用動態值,如.. current_query = [NSString stringWithFormat:@"hey%@",hey2];我得到奇怪的結果..當我NSLog(@"%@",current_query);,我也得到奇怪的結果,如<1002f2c8 c0a8016a 00000000 00000000>它是否以某種方式轉換我的字符串?這裏發生了什麼?iPhone NSString問題

current_query是在我的頭文件爲NSString *current_query;@property (nonatomic, retain) NSString *current_query;,然後在我的執行文件,@synthesize current_query;

謝謝大家!

+2

什麼是hey2?似乎是造成這個問題。 – taskinoor 2011-01-31 20:58:06

回答

4

嘗試設置的屬性,而不是實例變量直接設置:

self.current_query = NSString stringWithFormat:@"hey%@",hey2]; 

(旁白:currentQuery是標準的OBJ-C命名約定)

-1

嘗試先完整分配current_query。
NSString current_query = [[NSString alloc] initWithString:@「hey」];
current_query = [NSString stringWithFormat:@「hey%@」,hey2];
NSLog(@「%@」,current_query);

如果hey2不是一個對象,而是像int這樣的原始類型,則不能使用%@。你必須使用適當的字符串標記。