我正在尝试这个(在游乐场):
input[position]
...但是我收到以下错误消息:
错误:二元运算符'+ ='不能应用于类型的操作数 'String.CharacterView.Index'和'Int'
我试图增加这个索引的原因是因为我想做类似的事情:
adMedcenter.setPositiveButton(R.string.Ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
edtMedname=(EditText)adAlert.findViewById(R.id.tvMed);
edtMedid=(EditText)adAlert.findViewById(R.id.tvId);
edtMedad=(EditText)adAlert.findViewById(R.id.tvaddrs);
details=new Detail(edtMedname.getText().toString(),edtMedid.getText().toString(),edtMedad.getText().toString());
detailsInflater=getLayoutInflater();
inflaterView=detailsInflater.inflate(R.layout.inflate_add,null);
ivIcon=(ImageView)inflaterView.findViewById(R.id.ivMedicon);
txtMedName=(TextView)inflaterView.findViewById(R.id.tvMedname);
txtMedId=(TextView)inflaterView.findViewById(R.id.tvMedid);
txtMedAd=(TextView)inflaterView.findViewById(R.id.tvMedAddress);
ivIcon.setImageDrawable(ResourcesCompat.getDrawable(getResources(),R.drawable.ivicon,null));
txtMedName.setText(details.getStrMedname());
txtMedId.setText(insert+details.getStrId());
txtMedAd.setText(details.getStrAddress());
rlContain.addView(inflaterView);
}
});
...并访问输入中的特定字符。
此时我已经知道我不能在位置上使用这个二元运算符。什么是可行的解决方案?
我正在使用Swift 3和Xcode Version 8.0 beta 6(8S201h)
答案 0 :(得分:4)
在Swift 3中,“集合移动他们的索引”,比较 关于斯威夫特进化的A New Model for Collections and Indices。
在你的情况下
private func advance() {
input.formIndex(&position, offsetBy: 1)
}
将指数位置提前一个。在这里你必须确保
索引不等于endIndex
,或者使用
private func advance() {
input.formIndex(&position, offsetBy: 1, limitedBy: input.endIndex)
}