对不起我的问题以及此后的长篇解释,对于那些有Cocoa和Objective-C经验的人来说,可能有一个简单的解决方案,但我几周前才开始,我无法弄清楚如何得到这个东西,Grrrrrrr !!
好的,让我们这样说吧,在我的窗口中我有以下内容:
2 TextField(NSTextField)调用:
1标签(NSTextField)调用:
1按钮(NSButton)调用:
我想要的是所有关于时间计算的猜测,在一个TextField中获得“开始时间”,在另一个中获得“结束时间”。 一个应该是“起飞时间”而另一个应该是“着陆时间”或者例如“责任开始时间”和“责任结束时间”......它们是一样的! 然后我想计算“飞行时间”或“工作时间”并在标签中显示它。
最后,我还需要将值或时间作为整数存储在数据库中,该值应该由每次对应的所有分钟表示,但数据库部分目前不是问题。< / p>
也许我可以在TextField中编写没有格式但只是编号的数字并以某种方式显示格式化的时间? 我想编写例如“1245”和“1525”,而不需要在小时和分钟之间放置“:”,然后我可以在TextField中获得格式为“12:45”“15:25”的值某种程度上来说?也许在按下按钮后?
好的,无论如何这是第二个问题,我真正的问题是我需要将我在TextField(“1245”和“1525”)中写入的值分配给程序中的某些变量称为“BlockOff”和“BlockOn”。 我需要将它们转换为一个整数,表示与其值相对应的分钟数。例如:
1245将成为765分钟......(12次60 + 45)
和1525将成为925分钟......(15次60 + 25)
我该怎么做?
通过这种方式,我可以使用分钟计算差异来获得飞行时间,甚至可以将飞行时间添加到其他飞行时间。
目前我的程序工作方式略有不同 ...像这样: 如果我直接将值赋给两个变量:
int blockOff = 765;
int blockOn = 925;
然后我可以计算并在两个TextField中显示takeOff和着陆时间格式化为我想要的:“12:45”“15:25”...我使用其他2个变量来执行此操作:
int oreBlkOff,minBlkOff = 0;
minBlkOff = blockOff%60;
oreBlkOff =(blockOff - minBlkOff)/ 60;
然后我可以在TextField中显示值:
[blockOffText setStringValue:[NSString stringWithFormat:@“%d:%d”,oreBlkOff,minBlkOff]];
与blockOnText和flightTimeText相同,所以没有问题,但这不是我真正需要的吗?
我如何获得TEXTFIELD的价值并将值存储在可用于计算的变量中?
我如何首先获取数据并从变量中获取数据,以便我可以将它们用作我的计算的小时和分钟?
我想在TEXTFIELD中输入值,按“输入”或“返回”并获得分配给变量的值。
这是正确的方式还是我只是走错了路。 在另一个程序中,我在视觉基础上使用的是我使用的方式。
非常感谢您的帮助!
詹卢卡
答案 0 :(得分:1)
要从文本字段中获取int值,您可以使用integerValue
或floatValue
进行浮点运算。但是你一定要查看cocoa中的日期/时间控件。
答案 1 :(得分:0)
好的,如果我没有错过你长期问题的重点......
你有一个类似@“2345:8743”的文本字段,你想得到int
个变量中的两个数字(a = 2345,b = 8743)。
首先,您需要在两个NSStrings中获取数字的这两个文本表示。你可以这样做:
NSString * yourString = @"2345:8743";
NSString *stringA = [yourString substringToIndex:4]; //stringA = @"2345"
NSString *stringB = [yourString substringFromIndex:5]; //stringB = @"8743";
现在要获取in值,只需执行:
int a = [stringA intValue];
int b = [stringB intValue];
请告诉我这是否对您有所帮助。