2009-03-02 62 views
4

我需要從一個函數返回的NSString:的Objective-C的NSString問題

NSString myfunc (int x) 
{ 
    // do something with x 
    NSString* myString = [NSString string]; 
    myString = @"MYDATA"; 
    // NSLog(myString); 

    return *myString;  
} 

因此,我調用這個函數,並得到* myString的。這是一個指向數據的指針嗎?我怎樣才能得到數據「MYDATA」?

回答

13

我想改寫這個功能通過以下方式:

NSString* myfunc(int x) 
{ 
    NSString *myString = @"MYDATA"; 

    // do something with myString 
    return myString;   
} 

在Objective-C是比較常見的有指針工作對象,而不是對象本身,即與NSString*,不NSString你的榜樣。

此外,@"MYDATA"已經是一個字符串,所以你不需要在賦值之前分配和初始化myString。

+0

太棒了!這OP說謝謝:) – Alan 2009-03-02 13:05:07