让用户在运行时创建对象(Objective-C)

时间:2013-05-19 17:58:14

标签: objective-c class object

我在这个论坛上得到了很多帮助,但是这次我在这个论坛上找不到我的问题的答案,所以我会在这里问一下。我希望你们能帮助我,这个主题对周围的其他人有用。

几个月前我开始编程,(我想把它作为我的工作,明年我会上大学,我会学习它,这只是为了我自己。)我真的很喜欢它。

我正在阅读Steve Kochan撰写的“Objective In Objective-C编程(第四版)”一书。我还没有完成它,但对于真正的初学者来说,这是一本很好的书。

现在我开始为自己编写一些应用程序。在这种情况下,它是一个订单跟踪应用程序。用户可以按+或 - 按钮增加他必须订购的数量。我自己添加了4个产品(来自“Product”类的对象),但是我想让App的用户自己添加自定义产品。 这是代码:(这很简单,但我只是搞乱了一点)

Product.h:

#import <Foundation/Foundation.h>

@interface Product : NSObject
{
    unsigned int valueOfProducts;
}

-(void) increaseValueOfProducts;
-(void) decreaseValueOfProducts;
-(void) resetValueOfProducts;

@end

Product.m:

#import "Product.h"

@implementation Product

-(void) increaseValueOfProducts {
    valueOfProducts += 1;
}

-(void) decreaseValueOfProducts {

    if ( valueOfProducts > 0 ) {
        valueOfProducts -= 1;
    }
}

-(void) resetValueOfProducts {
    valueOfProducts = 0;
}

@end

的main.m:

#import "Product.h"

int main(int argc, char *argv[])
{
    @autoreleasepool {

        Product *sandwich = [[Product alloc] init];
        Product *coke = [[Product alloc] init];
        Product *chips = [[Product alloc] init];
        Product *bread = [[Product alloc] init];

    }
}

现在是我的问题:我可以添加任何方法或东西,以便用户可以将对象(所以,新产品)添加到他想要跟踪的程序中吗? < / p>

我不记得我在书中有过这个,我不知道该搜索什么。所以我希望有人可以帮助我。

非常感谢任何回复者!

PS:希望我以正确的方式在这篇文章中添加了代码。

1 个答案:

答案 0 :(得分:4)

你无法真正从非UI,命令行,编程到UI编程,并希望事情能够完全相同。

如果您想要用户输入,您需要在屏幕上显示用户输入内容的文本字段,然后将某些文本提交到程序中,以便更新您的Product实例;一个按钮,返回键,一些东西。

这需要基本了解应用程序的结构,如何加载或动态创建用户界面,如何处理用户输入,如何将UI连接到数据存储类/实例等......

听起来你需要从Kochan书中继续前进 - 这似乎更侧重于语言级别的东西而不是建立现实世界的应用程序? - 并使用教程教你如何构建GUI应用程序。

Apple提供了大量getting started guides ...