Objective-c对象不返回或打印字符串

时间:2014-02-27 01:03:22

标签: objective-c object

我是目标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;
}

3 个答案:

答案 0 :(得分:2)

newPerson”在您调用时为空。

你需要这样做:

newPerson = [[XYZPerson alloc] init];

在调用方法之前。

答案 1 :(得分:2)

您必须创建XYZPerson的实例并将其分配给newPerson

newPerson = [[XYZPerson alloc] init];

否则newPersonnilnil上的调用方法始终返回nil

答案 2 :(得分:0)

加入:

newPerson = [[XYZPerson alloc] init];

正下方:

XYZPerson *newPerson;

您从未初始化XYZPerson对象,这就是它返回null的原因。