Objective-C NSStringの質問
-
03-07-2019 - |
質問
関数からNSStringを返す必要があります:
NSString myfunc ( int x )
{
// do something with x
NSString* myString = [NSString string];
myString = @"MYDATA";
// NSLog(myString);
return *myString;
}
したがって、この関数を呼び出して* myStringを取得します。それはデータへのポインターですか?データ" MYDATA"にアクセスするにはどうすればよいですか?
解決
この関数を次のように書き換えます:
NSString* myfunc( int x )
{
NSString *myString = @"MYDATA";
// do something with myString
return myString;
}
Objective-Cでは、オブジェクト自体ではなく、オブジェクトへのポインターを使用することが一般的です。つまり、例では、 NSString
ではなく、 NSString *
を使用します。
さらに、 @" MYDATA"
はすでに文字列であるため、割り当ての前にmyStringを割り当てて初期化する必要はありません。
所属していません StackOverflow