在这里,当我以前学习Objective-C时,我带来了一些疑问,而且我搜索过Google无法得到完美的答案。我是从Objective-C的初学者的一个博客中做到的。
首先,我将展示我的代码:
@implementation ViewController
@synthesize textfield 1;
@synthesize textfield 2;
@synthesize textfield 3;
@synthesize totalTextField;
- (void)viewDidLoad {
[super viewDidLoad];
// // Do any additional setup after loading the view.
self.navigationItem.title = @“calculate the 3 field“;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)calculate:(id)sender {
int firstNumber = [[self.textfield 1 text] intValue];
int secondNumber = [[self.textfield 2 text] intValue];
int thirdNumber = [[self.textfield 3 text] intValue];
//NSLog(@"firstNumber: %i , secondNumber: %i, thirdNumber: %i", firstNumber, secondNumber, thirdNumber);
float total = (CGFloat) firstNumber/2 + secondNumber/2 + thirdNumber/2;
NSLog(@“total is: %f", total);
NSString *mark = [NSString stringWithFormat:@"%.2f", total];
self.totalTextField.text = mark;
}
Explaniation:
我有三个名为textfield 1,textfield 2,textfield 3
的文字字段。当用户在三个文本字段中输入数字时,他们必须按下计算按钮。之后,将进行一些计算并在totalTextField
中显示最终结果。
我的问题:
为什么在Xcode中使用名为Appdelegate, view controller.
的默认文件?这两个人的实际意义是什么?为什么他们是默认的,如果我们删除Appdelegate.h .m
文件将会发生什么? viewcontroller, Appdelegate
是什么意思?
在上面的代码中,他们使用内部计算按钮方法:
int firstNumber = [[self.textfield 1 text] intValue];
为什么他们不使用:
NSInteger * soemname = // alloc init //
他们还使用了float
。为什么不能使用CGFloat
?
任何人都可以告诉我为什么他们使用int
而不是NSInteger
和所有人?如果有可能,任何人都可以将int
与NSInteger
重新编码,以便同样工作吗?
请帮我澄清这个疑问。我是学习过程的新手。
答案 0 :(得分:0)
1。 AppDelegate
是UIApplication
的委托类的默认实现。有关委托的用途的详细信息,请参阅UIApplication
和UIApplicationDelegate
协议的文档。 ViewController
是UIViewController
子类的名称,在创建新项目时,有几个模板为您创建。视图控制器是管理应用程序UI的类。
2。 NSInteger
是一个int
,根据平台的不同,可以更改位宽。对于iOS,这意味着它是32位宽(较旧的硬件)或64(较新的硬件)。 iOS上int
总是32位宽。使用一个而不是另一个的原因取决于场景。有时候,拥有一个不会改变的已知宽度会更好。有时最好使用“原生”整数大小。选择一个在另一个上面没有硬性规定。
3. float
是基本的C类型。 CGFloat
与平台有关,原始类型可能会更改(float,double)。除非有人以某种方式与Core Graphics进行交互,否则没有理由使用CGFloat
。