我是目标c的新手,我对象有一些问题。
我相信程序的语法是正确的,但它似乎没有从方法中返回任何值甚至输出(NSLog)。
非常感谢任何帮助:)
#import <Foundation/Foundation.h>
@interface XYZPerson : NSObject
- (NSString *)sayHello;
@end
@implementation XYZPerson
- (NSString *)sayHello {
NSString *test = @"test";
return test;
}
@end
int main(int argc, const char * argv[])
{
XYZPerson *newPerson;
NSString *getString = [newPerson sayHello];
NSLog(@"the returned string is :%@", getString);
return 0;
}
答案 0 :(得分:2)
“newPerson
”在您调用时为空。
你需要这样做:
newPerson = [[XYZPerson alloc] init];
在调用方法之前。
答案 1 :(得分:2)
您必须创建XYZPerson
的实例并将其分配给newPerson
newPerson = [[XYZPerson alloc] init];
否则newPerson
为nil
,nil
上的调用方法始终返回nil
答案 2 :(得分:0)
加入:
newPerson = [[XYZPerson alloc] init];
正下方:
XYZPerson *newPerson;
您从未初始化XYZPerson对象,这就是它返回null的原因。