Назначение из несовместимого типа указателя в моем коде Objective C - PullRequest
0 голосов
/ 25 мая 2011

Вчера я скопировал и скомпилировал код ниже, и это было хорошо.Но сегодня, когда я скомпилировал код, он дал мне предупреждение и не запускает .exe.Я новичок в Objective-C и использую GNUstep для окна.

testString.m: In function 'main':
testString.m:5:13: warning: assignment from incompatible pointer type
** testString.m:5:13 it front of (=)

Вот код.

//testString.m
#import <Foundation/Foundation.h>
int main (int argc,  const char * argv[])
{
NSString *testString = [[NSString alloc] init ];
testString = "Here's a test string in testString!";
NSLog(@"testString: %@", testString);

return 0;
}

1 Ответ

6 голосов
/ 25 мая 2011

NSString литералы должны иметь символ @ перед ними:

testString = @"Here's a test string in testString!";

Еще одна проблема с вашим кодом заключается в том, что в 1-й строке вы создаете экземпляр NSString, который вы перезаписываете во 2-й строке - поэтому он просто протекает. Присвойте значение testString в его объявлении напрямую:

NSString *testString = @"Here's a test string in testString!";
...