objective-c/iphone sdk新手问题

objective-c/iphone sdk新手问题,iphone,objective-c,ios4,Iphone,Objective C,Ios4,目前,我正在构建一个基础应用程序来学习Objective-C和iPhone SDK。 我正在使用getter和setter创建NSObject,以了解它们是如何工作的。我已经成功地将属性、getter和setter添加到我的主控制器中,目前我正在尝试创建一个单独的类,我可以在我的控制器中创建一个新的实例,但是当我尝试使用setter时它崩溃了 提前感谢您的时间,如果这个问题像我确定的那样愚蠢,我很抱歉 这是我们班的标题 奎茨基问题 #import <Foundation/Foundatio

目前,我正在构建一个基础应用程序来学习Objective-C和iPhone SDK。 我正在使用getter和setter创建NSObject,以了解它们是如何工作的。我已经成功地将属性、getter和setter添加到我的主控制器中,目前我正在尝试创建一个单独的类,我可以在我的控制器中创建一个新的实例,但是当我尝试使用setter时它崩溃了

提前感谢您的时间,如果这个问题像我确定的那样愚蠢,我很抱歉

这是我们班的标题

奎茨基问题

#import <Foundation/Foundation.h>


@interface QuizQuestion : NSObject {
    NSString *question;
}

@property (retain) NSString* question;


@end
这是我的控制器代码(我删掉了一些)


还有@class,我尝试导入了“QuizQuestion.h”,我得到了相同的问题。

您需要分配空间并初始化QuizQuestion

QuizQuestion *aQuestion = [[QuizQuestion alloc] init];

在设置问题之前。

您需要分配空间并初始化提问

QuizQuestion *aQuestion = [[QuizQuestion alloc] init];

在设置问题之前。

我认为在尝试更多编码之前,您需要先阅读一些文档。苹果有几本非常好的入门编程指南。本节将介绍您遇到的问题:


我认为在尝试更多编码之前,您需要先阅读一些文档。苹果有几本非常好的入门编程指南。本节将介绍您遇到的问题:


您没有实际分配QuizQuestion类的实例。您的
aQuestion
变量没有指向任何特定的对象,因此尝试向它发送消息,如
-setQuestion:
,就是将该消息发送到。。。嗯,不知道在哪里,发送不适合他们的信息肯定会让你的应用程序崩溃。您需要做的是:

QuizQuestion *aQuestion = [[QuizQuestion alloc] init];
[aQuestion setQuestion:@"hello world"];

您还需要在某个时候调用
[aQuestion release]
,否则会泄漏与之相关的内存。

您实际上没有分配QuizQuestion类的实例您的
aQuestion
变量没有指向任何特定的对象,因此尝试向它发送消息,如
-setQuestion:
,正在将该消息发送给。。。嗯,不知道在哪里,发送不适合他们的信息肯定会让你的应用程序崩溃。您需要做的是:

QuizQuestion *aQuestion = [[QuizQuestion alloc] init];
[aQuestion setQuestion:@"hello world"];
QuizQuestion *aQuestion = [[QuizQuestion alloc] init];
[aQuestion setQuestion:@"hello world"];
[aQuestion release];

您还需要在某个时候调用
[aQuestion release]
,否则您将泄漏与之相关的内存。

像说话一样说话!:)请注意,OP也需要
释放
自动释放
所述对象。lol对不起。您必须先分配空间并初始化测验问题!=)是的,您是对的,您还必须释放或自动释放对象。=)太好了,现在开始工作了。我想在我继续之前,我需要读一些更基本的Objective-C内容。像你说的那样说吧!:)请注意,OP也需要
释放
自动释放
所述对象。lol对不起。您必须先分配空间并初始化测验问题!=)是的,您是对的,您还必须释放或自动释放对象。=)太好了,现在开始工作了。我想在我继续之前,我需要阅读一些更基本的Objective-C内容。
QuizQuestion *aQuestion = [[QuizQuestion alloc] init];
[aQuestion setQuestion:@"hello world"];
[aQuestion release];