func say(name:String, msg:String) {
println("\(name) say \(msg)")
}
say("Henry","Hi,Swift") <---- error because missing argument label 'msg' in call
Run Code Online (Sandbox Code Playgroud)
我需要用
say("Henry",msg:"Hi,Swift")
Run Code Online (Sandbox Code Playgroud)
为什么?如果我在func中放入两个以上的var,这样当我调用这个函数时我需要编写var name而不是first var
它真的很麻烦,我在iBook Swift教程中没有看到任何解释.
我需要将Set放入SharedPreference中,但我遇到了问题.
当我单击按钮时,我将从SharedPreference获取Set并将数据添加到Set然后放回SharedPreference,但是当我销毁项目并再次打开它时,sharedPreference只在Set中获取一个字符串
SharedPreferences s = getSharedPreferences("db", 0);
Log.i("chauster", "1.set = "+s.getStringSet("set", new HashSet<String>()));
Button btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences ss = getSharedPreferences("db", 0);
Set<String> hs = ss.getStringSet("set", new HashSet<String>());
hs.add(String.valueOf(hs.size()+1));
Editor edit = ss.edit();
edit.putStringSet("set", hs);
edit.commit();
SharedPreferences sss = getSharedPreferences("db", 0);
Log.i("chauster", "2.set = "+sss.getStringSet("set",
new HashSet<String>()));
}
});
Run Code Online (Sandbox Code Playgroud)
当我先安装项目时,我点击按钮4次,logcat打印出来
1.set = []
2.set = [1]
2.set = [2, 1]
2.set = [3, 2, 1]
2.set = [3, 2, 1, 4] …Run Code Online (Sandbox Code Playgroud) 我一直在我的项目中使用Google服务,但亚马逊平板电脑不支持Google服务,所以如果我想将应用程序发布到亚马逊商店,我需要删除Google服务.我不想将项目划分为"For Google Play"和"For Amazon Store".
我使用设备名称,android.os.Build.MODEL但我不确定它是否安全?
我可以在项目中检测亚马逊平板吗?
if(is Amazon) {
//do something
}
else {
//do something
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试将 -1 分配给枚举变量,如下所示:
typedef enum test {
first,
second,
}soc_ctr_type_t
soc_ctr_type_t ctype;
...
switch(type){
case 1:
ctype = first;
break;
case 2:
ctype = second;
break;
default:
ctype = -1;
}
Run Code Online (Sandbox Code Playgroud)
如果type是默认情况,ctype则应变为 -1,但事实并非如此。我printf用来调试的时候,ctype是255。
为什么ctype变成 255 而不是 -1?
我在布局上设置了一个按钮,如果用户单击按钮将显示吐司...
button.setOnClickListener(toastListener);
OnClickListener toastListener = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast error = Toast.makeText(this, msg, Toast.LENGTH_LONG);
error.show();
}
};
Run Code Online (Sandbox Code Playgroud)
但是当用户多次点击按钮时,他们会显示更多的吐司.
我是否可以在屏幕上始终显示一个吐司是否有多少次用户点击按钮?
非常感谢