2009-03-02 9 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

私はこの機能を次のように書き換えます:オブジェクトへのポインタで動作するように、より一般的であるObjective-Cで

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

    // do something with myString 
    return myString;   
} 

を、NSString*、ないNSStringとあなたの例では、すなわち、オブジェクト自体ではありません。

さらに、@"MYDATA"はすでに文字列であるため、割り当ての前にmyStringを割り当てて初期化する必要はありません。

+0

ワンダフル!このOPは感謝を言う:) – Alan

+0

@Alan。これが助けになったら、答えを受け入れることができます。 – Abizern