Objective c 从UITextField获取NSString

Objective c 从UITextField获取NSString,objective-c,variables,nsstring,uitextfield,Objective C,Variables,Nsstring,Uitextfield,我正在尝试为自己编写一个小的weightwatchers积分计算器应用程序。我知道你可以从appstore下载一个,但我正在尝试学习objective-c,并认为这将是一个相当简单的第一个应用。我只想使用输入到文本框中的文本并将其保存为变量,然后使用所述变量对IntValue执行基本的数学运算。我尝试过使用UITextField的“text”属性,但运气不佳,有人能帮我一下,告诉我我做错了什么吗?这太尴尬了…我好像忘了告诉你问题出在哪里了。我已经在相应的行中包含了我收到的错误。我从这些错误中得到

我正在尝试为自己编写一个小的weightwatchers积分计算器应用程序。我知道你可以从appstore下载一个,但我正在尝试学习objective-c,并认为这将是一个相当简单的第一个应用。我只想使用输入到文本框中的文本并将其保存为变量,然后使用所述变量对IntValue执行基本的数学运算。我尝试过使用UITextField的“text”属性,但运气不佳,有人能帮我一下,告诉我我做错了什么吗?这太尴尬了…我好像忘了告诉你问题出在哪里了。我已经在相应的行中包含了我收到的错误。我从这些错误中得到的是,我不应该使用“NSString”来定义我的变量,也许是“int”

.h文件:

#import <UIKit/UIKit.h>

@class FirstViewController;
NSString*txtProtein = nil;
NSString *txtCarbs = nil;
NSString *txtFat = nil;
NSString *txtFiber = nil;
NSString *txtPoints = nil;
NSString *txtproteinCalc = nil;
NSString *txtcarbCalc = nil;
NSString *txtfatCalc = nil;
NSString *txtfiberCalc = nil;
@interface AppDelegate : NSObject
<UIApplicationDelegate> {
    UIWindow *window;
    FirstViewController
*viewController;

    UITextField *protein;
    UITextField *carbs;
    UITextField *fat;
    UITextField *fiber;
    UITextView *points;
}

@property (nonatomic, retain)
IBOutlet UIWindow *window;
@property (nonatomic, retain)
IBOutlet FirstViewController *viewController;

@end
提前感谢您的帮助!
另外,如果你们有任何学习目标c的推荐书,我已经读了一些,但我知道我显然需要多读一些,如果你们能留下任何帮助你们学习的建议,那将是很棒的。谢谢

坦率地说,发布的代码有很多严重的问题。让我们从即时编译错误开始

你有:

txtProtein = [[[UITextField alloc] initWithFrame:CGRectMake(10.0, 10.0, 50.0, 25.0)]; (expected identifier)
txtProtein.backgroundColor = [UIColor whiteColor]; (property "backgroundcolor" not found on object of type 'NSString')
txtProtein.placeholder = @"Protein"; (property "placeholder" not found on object of type 'NSString')
[viewController.view addSubview:txtProtein]; (property 'view' can not be found in forward class object "FirstViewController")
第一行有太多的开放括号。另一个主要问题是,您正在创建一个
UITextField
,但您正在将其分配给
NSString
的变量。您应该使用具有属性类型的
protein
变量,而不是
txtProtein
。因此,代码应该是:

protein = [[UITextField alloc] initWithFrame:CGRectMake(10.0, 10.0, 50.0, 25.0)];
protein.backgroundColor = [UIColor whiteColor];
protein.placeholder = @"Protein";
[viewController.view addSubview:protein];
同样的问题在这段代码中反复出现

下一个大问题是为什么所有这些代码都在你的应用程序中?大部分(如果不是全部的话)代码都属于
FirstViewController.m
文件。您的应用程序代理不应负责设置视图控制器。让视图控制器自行设置

接下来,为什么会有所有这些全局变量


我建议你先找一些关于Objective-C编程的好教程,然后再找一些关于iOS应用程序开发的好教程。

哦,天哪,这是很多全球教程。@AndrewTetlaw不幸的是,他甚至没有告诉我们,他“运气不好”。漂亮的解释!NSLog您的文本字段指针。有一个问题(可能是主要问题)是,您正在分配一个文本字段并将其存储在字符串指针中……@HotLicks他使用了大约4个文本字段。他们都非常感谢你。这些都是我应该看到的。真的很感激,一定会开始阅读。
protein = [[UITextField alloc] initWithFrame:CGRectMake(10.0, 10.0, 50.0, 25.0)];
protein.backgroundColor = [UIColor whiteColor];
protein.placeholder = @"Protein";
[viewController.view addSubview:protein];