문제
함수에서 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