您可以在Objective-C中用C(C99标准)做什么?(如果你愿意,可以使用代码示例)
有没有办法让iphone上的所有可用语言就像在设置应用程序中一样?
在NSLocales类参考中找不到方法.
谢谢!
alt text http://dl.getdropbox.com/u/80699/Bildschirmfoto%202010-07-26%20um%2019.45.49.png
在下面的内联条件中,可能会分别打印一个整数和一个double:
System.out.println(true ? 0 : 0.0);
System.out.println(false ? 0 : 0.0);
System.out.println(true ? new Integer(0) : new Double(0.0));
System.out.println(true ? 0 : "");
Run Code Online (Sandbox Code Playgroud)
相反,它们在一起出现时都被打印为双打:
0.0
0.0
0.0
0
Run Code Online (Sandbox Code Playgroud)
为什么在内联条件下与其他数字一起出现时会自动转换数字?
编辑:如果发生这种情况,因为System.out.println重载的情况是这样的:
list.add(true ? 0 : 0.0);
list.add(false ? 0 : 0.0);
list.add(true ? new Integer(0) : new Double(0.0));
list.add(true ? 0 : "");
System.out.println(list);
Run Code Online (Sandbox Code Playgroud)
输出:
[0.0, 0.0, 0.0, 0]
Run Code Online (Sandbox Code Playgroud) 我正在编写的应用程序几乎已经完成,我希望使用不同语言的人使用它.
我不知道从哪里开始,全球化和文化在编程方面的区别是什么?
如何采用不常见的短语,例如"此应用程序是为了这样做而构建的"而不是文件,打开,保存等...并将它们变成说,西班牙语?
非常感谢 :-)
我想弄清楚如何给出最坏的情况时间复杂度.我不确定我的分析.我已经读过for大O的嵌套循环了n^2; 这对于一个内部for循环的while循环是否正确?
// A is an array of real numbers.
// The size of A is n. i,j are of type int, key is
// of type real.
Procedure IS(A)
for j = 2 to length[A]
{
key = A[ j ]
i = j-1
while i>0 and A[i]>key
{
A[i+1] = A[i]
i=i-1
}
A[i+1] = key
}
Run Code Online (Sandbox Code Playgroud)
到目前为止我有:
j=2 (+1 op)
i>0 (+n ops)
A[i] > key (+n ops)
so …Run Code Online (Sandbox Code Playgroud) 如果我有以下谓词门,声明两个房间之间有一扇门:
door(office, hall).
door(kitchen, office).
door(hall, "dining room").
door(kitchen, cellar).
door("dining room", kitchen).
Run Code Online (Sandbox Code Playgroud)
并且谓词门户宣布门的状态:
doorstate(hall, office, closed).
doorstate(hall, "dining room", opened).
doorstate("dining room", kitchen, opened).
doorstate(kitchen, office, opened).
doorstate(kitchen, cellar, opened).
Run Code Online (Sandbox Code Playgroud)
如果两个房间之间的所有门都打开,那么两个房间之间就有一条通道.
如何编写规则来发现两个房间之间是否存在这样的路径?
我不知道它是怎么发生的,但突然间,当我启动Monodevelop时,菜单以英语以外的语言显示.我已经尝试重新安装应用程序以及手动删除Library下其他目录中的工件.没运气.重新安装后,它仍然以另一种语言加载.
我有一个简单的窗口窗体,没有边框和几个标签控件(不需要单击任何内容)。我需要能够允许用户通过单击表单上的任意位置来移动表单,所以我找到了这个问题,并使用了在那里找到的以下代码。
private const int WM_NCHITTEST = 0x84;
private const int HTCLIENT = 0x1;
private const int HTCAPTION = 0x2;
protected override void WndProc(ref Message m)
{
switch (m.Msg) {
case WM_NCHITTEST:
base.WndProc(ref m);
if ((int)m.Result == HTCLIENT) {
m.Result = (IntPtr)HTCAPTION;
return;
} else {
return;
}
break;
}
base.WndProc(ref m);
}
Run Code Online (Sandbox Code Playgroud)
在某种程度上,这很有效。如果我单击表单本身(背景)上的任意位置,WM_NCHITTEST则为HTCLIENT,这样我就可以按预期移动表单。但是,如果我单击标签控件本身,则消息会有所不同,并且我无法分辨它是什么。
我发现这篇文章介绍了各种可能的值,WM_NCHITTEST但它们似乎都不是我需要的。
我意识到我可以禁用所有标签控件,这将允许我单击“它们”,就好像它是表单本身一样,但我想知道是否有更好/不同的方法来做到这一点。
谢谢您的帮助!
我有以下类(示例):
public class Dog
{
int numberOfTeeth;
public Dog()
{
countTeeth();
}
private void countTeeth()
{
this.numberOfTeeth = 5; //this dog has seen better days, apparently
}
}
Run Code Online (Sandbox Code Playgroud)
在我创建狗对象后,它应该计算出牙齿的数量.我希望能够访问该值而无法在类本身之外修改它.
Dog d = new Dog();
int dogTeeth = d.numberOfTeeth; //this should be possible
d.numberOfTeeth = 10; //this should not
Run Code Online (Sandbox Code Playgroud)
但是,我无法弄清楚哪个访问修饰符可以让我这样做.我已经尝试了以下所有方法:
如果我numberOfTeeth 私有,我无法访问它.
如果我使numberOfTeeth 内部保护,我可以在课外改变这个值.
如果我做numberOfTeeth 内部,我可以在课外改变这个值.
如果我numberOfTeeth 保护,我无法访问它.
如果我numberOfTeeth 公开,我可以在课外改变这个值.
我也尝试将其设为只读,但后来无法在构造函数之外设置它.
是否有任何访问修饰符可以让我这样做?或者是否有其他方法可以实现这种保护?
我有一个日期时间字段.例如2013-08-22 12:00:00 AM.我想连接年份和月份,我希望输出为201308.
当我尝试年(datetime_field)+月(datetime_field)时,我得到的是2013 + 08 = 2021 ..即它增加而不是连接.有人可以告诉我如何获得201308的输出?
.net ×3
c# ×2
objective-c ×2
algorithm ×1
c ×1
compare ×1
culture ×1
iphone ×1
java ×1
monodevelop ×1
prolog ×1
tableau-api ×1
time ×1
winforms ×1
wndproc ×1