- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作带有自定义单元格的单位转换器应用程序,每个单元格内部都有一个文本框,我的想法是当您输入一个单位的值时,所有单位都会自动计算,只有当有更多单元格并且您需要时才会出现问题当单元格被重用时滚动它们会弄乱标签,并且因为我的计算函数通过标签单元格属性工作,所以我得到了错误的值。这是我的代码,我还将提供我的项目的屏幕截图,在此先感谢您。不是:我知道有些部分本来可以更有活力,写得更好,但我是 iOS 世界的新手,所以当时我真的不知道如何做得更好。
import UIKit
protocol Initializable {
init()
}
class ValuesTableViewController: UITableViewController, Initializable, UITextFieldDelegate {
@IBOutlet var valuesTableView: UITableView!
var valueName: String?
var valueColor: UIColor?
var selectedValueObject: Properties?
var listOfAllUnitObjects = [AnyObject]()
var doubleTextValue : Double?
var listOfAllCells = [ValuesCell]()
var listOfCurrentValues = [Double]()
var returningCalculatedValue : Double?
var changingObject: Properties?
var selected = [Int : String]()
var selectedTag : Int?
var noValues: String?
var colorChange: UIColor?
var classValues: [Properties.Type] = [Properties.Type]()
var selectedTextField: Int?
var activeField: UITextField?
var imageName: String?
let listOfAllIndexes: [Int] = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]
// var testTextField : UITextField
//"m²","km²","ha","dm²","cm²","mm²","sq mi", "ac", "sq yd","sq ft", "sq in"
// var areaValues: [String: Area] = ["m²": Acre(), "km²": SquareKilometer(), "ha": Hectare(), "dm²": SquareDecimeter(), ""]
//var listOfAllUnitsInClass = [Acre,Hectare,SquareCentimeter,SquareDecimeter,SquareFoot,SquareInch,]
override func viewDidLoad() {
super.viewDidLoad()
}
// override func numberOfSections(in tableView: UITableView) -> Int {
// // #warning Incomplete implementation, return the number of sections
// return 0
// }
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
let valuesType = configureTable()
let valuesObject = createInstance(typeThing: valuesType)
// print("Value of listOfMainLabels in numberOfRowsInSection : \(valuesObject.listOfMainLabels.count)")
return valuesObject.listOfMainLabels.count
}
func textFieldDidBeginEditing(_ textField: UITextField) {
activeField = textField
selectedTextField = textField.tag
for i in (0...listOfAllCells.count - 1){
if let textFieldTag = selectedTextField {
listOfAllCells[textFieldTag].cellView.backgroundColor = UIColor.white
if let imgName = imageName {
listOfAllCells[textFieldTag].cellImg.image = UIImage(named: imgName)
}
if i == textFieldTag {
}else{
listOfAllCells[i].cellView.backgroundColor = UIColor(red: 232/255.0, green: 232/255.0, blue: 232/255.0, alpha: 1.0)
listOfAllCells[textFieldTag].cellImg.image = nil
}
}
}
textField.text = ""
textField.keyboardType = UIKeyboardType.decimalPad
let valuesType = configureTable()
let valuesObject = createInstance(typeThing: valuesType)
if textField.text == "" {
//Ovde nastaje problem jer samo vrati unetu vrednost
let entryValueReturned = checkTypesForSelected(tag: textField.tag, cells: listOfAllCells, entryValues: 0, valuesObject: valuesObject)
returningCalculatedValue = entryValueReturned
if let returnCalculatedValue = returningCalculatedValue {
checkTypes(tag: textField.tag, allCells: listOfAllCells, entryValues: returnCalculatedValue, valuesObject: valuesObject)
selectedTag = textField.tag
selected[textField.tag] = "0"
// print("Prolazi druga funkcija")
//valuesTableView.reloadData()
}
}
}
func textFieldDidEndEditing(_ textField: UITextField) {
//Deleting previous entered value and setting to blank
activeField = nil
if textField.text == "" {
noValues = ""
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let valuesType = configureTable()
let valuesObject = createInstance(typeThing: valuesType)
//Creating an instance of the object that the user previously selected getting the listOfMainValues which are unit labels
//print("TableView called \(indexPath.row)")
let cell = tableView.dequeueReusableCell(withIdentifier: "valueCell", for: indexPath) as! ValuesCell
print("Tag for this cell would have been \(indexPath.row)")
if indexPath.row == 0 {
cell.cellView.backgroundColor = UIColor.white
if valuesObject is Area {
//Depending of what unit category is selected different image is used
imageName = "area-arrow"
cell.cellImg.image = UIImage(named: imageName!)
}else if valuesObject is Temperature{
imageName = "temperature-arrow"
cell.cellImg.image = UIImage(named: imageName!)
}else if valuesObject is Length {
imageName = "length-arrow"
cell.cellImg.image = UIImage(named: imageName!)
}else if valuesObject is Mass {
imageName = "mass-arrow"
cell.cellImg.image = UIImage(named: imageName!)
}else if valuesObject is Speed {
imageName = "speed-arrow"
cell.cellImg.image = UIImage(named: imageName!)
}else if valuesObject is Volume {
imageName = "volume-arrow"
cell.cellImg.image = UIImage(named: imageName!)
}else if valuesObject is FuelConsumption {
imageName = "fuel-arrow"
cell.cellImg.image = UIImage(named: imageName!)
}else if valuesObject is Time {
imageName = "time-arrow"
cell.cellImg.image = UIImage(named: imageName!)
}else if valuesObject is DigitalStorageData {
//Same for all other units ...
}
}
let currentClassName = valuesObject.listOfAllUnits[indexPath.row]
let unitObject = stringClassFromString(currentClassName)
cell.cellTextBox.delegate = self
cell.cellTextBox.addTarget(self, action: #selector(self.textFieldDidChange(_:)), for: .editingChanged)
//button.addTarget(self, action: #selector(self.buttonClicked(sender:)), for: .touchUpInside)
//Setting values from an array to cell label
cell.cellMainLbl.text = valuesObject.listOfMainLabels[indexPath.row]
cell.cellSmallLbl.text = valuesObject.listofSmallLabels[indexPath.row]
// cell.valueLabel.textColor = UIColor.init(red: CGFloat(rColorValue[indexPath.row]), green: CGFloat(gColorValue[indexPath.row]), blue: CGFloat(bColorValue[indexPath.row]), alpha: 1.0)
// cell.leftColorView.backgroundColor = UIColor.init(red: CGFloat(rColorValue[indexPath.row]), green: CGFloat(gColorValue[indexPath.row]), blue: CGFloat(bColorValue[indexPath.row]), alpha: 1.0)
cell.tag = listOfAllIndexes[indexPath.row]
cell.cellTextBox.tag = listOfAllIndexes[indexPath.row]
print("Cell tag : \(cell.tag) and CellTextBox tag: \(cell.cellTextBox.tag)")
cell.cellTextBox.borderStyle = .none
if valuesObject.listOfMainLabels.count - 1 >= listOfAllCells.count {
listOfAllCells.append(cell)
}
//listOfAllUnitObjects.append(unitObject)
if let unitObjectUnwrapped = unitObject {
listOfAllUnitObjects.append(unitObjectUnwrapped)
}
// for unit in valuesObject.listOfAllUnits {
// let unitObject = stringClassFromString(unit)
// if let unitObjectUnwrapped = unitObject {
// listOfAllUnitObjects.append(unitObjectUnwrapped)
// }
//
//
// }
// //cell.imageView?.image = UIImage(named: fruitName)
// cell.rightValueImage.image = UIImage(named: "\(indexPath.row)")
if selected[indexPath.row] != nil {
cell.cellTextBox.text = selected[indexPath.row]
//print("Ako ovo prodje znaci sredjuj sledecu funkciju koja ih namesta na default da ignorise ovu celiju")
}
// Configure the cell...
return cell
}
override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
//Save the last selected textfield value
let valuesType = configureTable()
let valuesObject = createInstance(typeThing: valuesType)
if let seleTag = selectedTag {
let valueString = selected[seleTag]
if let valueS = valueString {
if let value = Double(valueS){
if value == 0 {
print("Da vidimo da li upada ovde : \(selected[selectedTag!]!)")
let valueFromMethod = checkTypesForSelected(tag: seleTag, cells: listOfAllCells, entryValues: 0, valuesObject: valuesObject)
checkTypes(allCells: listOfAllCells, entryValues: valueFromMethod, valuesObject: valuesObject)
print("PROLAZI ZA 0 checkTypes")
}else{
da li je uopste value nekada 0 ili je uvek razlicit od nule
print("value vrednost: \(value)")
let methodValue = checkTypesForSelected(tag: seleTag, cells: listOfAllCells, entryValues: value, valuesObject: valuesObject)
checkTypes(tag: seleTag, allCells: listOfAllCells, entryValues: methodValue, valuesObject: valuesObject)
print("OBRATI PAZNU!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
}
}
}
//Problem: kada ne unese vrednost vraca ih na 1 umesto na 0
//Ovde radim trenutno
}else{
checkTypes(allCells: listOfAllCells, entryValues: 1, valuesObject: valuesObject)
print("ZAVRSILA SE METODA SA POZIVOM 1")
}
if let changeColor = colorChange {
if indexPath.row == 0 {
let cell = tableView.dequeueReusableCell(withIdentifier: "valueCell", for: indexPath) as! ValuesCell
cell.cellView.backgroundColor = changeColor
}
}
//checkTypes(allCells: listOfAllCells,entryValues: 1, valuesObject: valuesObject)
//print("Value of listOfAllCells in willDisplay : \(listOfAllCells.count)")
valuesTableView.tableFooterView = UIView()
valuesTableView.tableFooterView?.backgroundColor = UIColor.gray
// valuesTableView.tableFooterView?.backgroundColor = UIColor(red: 232/255.0, green: 232/255.0, blue: 232/255.0, alpha: 1.0)
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cell = tableView.cellForRow(at: indexPath) as! ValuesCell
if (cell.cellTextBox.text?.isEmpty)!{
cell.cellTextBox.text = "0.0"
}
print("Cell clicked has a tag \(cell.tag)")
for i in (0...listOfAllCells.count - 1){
if i == indexPath.row {
cell.cellView.backgroundColor = UIColor.white
if let imageTxt = imageName {
cell.cellImg.image = UIImage(named: imageTxt)
print("Prosla slika")
}
}else{
colorChange = cell.backgroundColor
listOfAllCells[i].cellView.backgroundColor = UIColor(red: 232/255.0, green: 232/255.0, blue: 232/255.0, alpha: 1.0)
cell.cellImg.image = nil
}
}
//
self.view.endEditing(true)
}
override func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle {
return .none
}
override func tableView(_ tableView: UITableView, shouldIndentWhileEditingRowAt indexPath: IndexPath) -> Bool {
return false
}
func checkTypes<T>(allCells: [ValuesCell],entryValues: Double, valuesObject: T){
if valuesObject is Area {
//When cells appear for the first time calculate for 1 all units
classValues = [SquareMeter.self, SquareKilometer.self, Hectare.self, SquareDecimeter.self,
SquareCentimeter.self, SquareMillimeter.self, SquareMile.self, Acre.self,
SquareYard.self, SquareFoot.self, SquareInch.self]
// print("classValues count je : \(classValues.count)")
// print("listOfAllCells count je: \(listOfAllCells.count)")
//Napravi da ako i bude jednako tagu da preskoci tu vrednost jer zelimo da ostane to sto je korisnik uneo
//u tom polju
for i in 0...(listOfAllCells.count - 1){
//print("Ovde baca index out of range i ima vrednost: \(i)")
let object = classValues[i].init()
let value = object.ConvertFromMainUnitToUnit(entryValue: entryValues)
//print("Vracam vrednost druge metode za \(i) element je : \(value)")
listOfAllCells[i].cellTextBox.text = "\(value)"
}
}else if valuesObject is Temperature {
classValues = [Celsius.self, Fahrenheit.self, Kelvin.self]
for i in 0...(listOfAllCells.count - 1){
let object = classValues[i].init()
let value = object.ConvertFromMainUnitToUnit(entryValue: entryValues)
element je : \(value)")
listOfAllCells[i].cellTextBox.text = "\(value)"
}
}else if valuesObject is Length {
classValues = [Meter.self, CentiMeter.self, DeciMeter.self, Foot.self, Inch.self,
KiloMeter.self, MicroMeter.self, Mile.self, MillieMeter.self, NanoMeter.self, NauticMile.self,Yard.self]
for i in 0...(listOfAllCells.count - 1){
let object = classValues[i].init()
let value = object.ConvertFromMainUnitToUnit(entryValue: entryValues)
element je : \(value)")
listOfAllCells[i].cellTextBox.text = "\(value)"
}
}else if valuesObject is Mass {
classValues = [KiloGram.self, DecaGram.self, Gram.self,LongTon.self, MetricTon.self,
MicroGram.self, MilliGram.self, Ounce.self, Pound.self, ShortTon.self, Stone.self]
for i in 0...(listOfAllCells.count - 1){
let object = classValues[i].init()
let value = object.ConvertFromMainUnitToUnit(entryValue: entryValues)
element je : \(value)")
listOfAllCells[i].cellTextBox.text = "\(value)"
}
}else if valuesObject is Speed {
classValues = [MetersPerSecond.self, FeetPerSecond.self, KilometersPerHour.self,Knot.self, MilesPerHour.self]
for i in 0...(listOfAllCells.count - 1){
let object = classValues[i].init()
let value = object.ConvertFromMainUnitToUnit(entryValue: entryValues)
//print("Vracam vrednost druge metode za \(i) element je : \(value)")
listOfAllCells[i].cellTextBox.text = "\(value)"
}
}else if valuesObject is Volume {
classValues = [Liter.self, CubicFoot.self, CubicInch.self,CubicMeter.self,
ImperialGal.self, ImperialOz.self, ImperialPint.self, ImperialQuart.self,
ImperialTableSpoon.self,ImperialTeaSpoon.self, MilliLiter.self, UsCup.self,
UsGal.self,UsOz.self,UsPint.self,UsQuart.self,UsTableSpoon.self,UsTeaSpoon.self]
for i in 0...(listOfAllCells.count - 1){
let object = classValues[i].init()
let value = object.ConvertFromMainUnitToUnit(entryValue: entryValues)
//print("Vracam vrednost druge metode za \(i) element je : \(value)")
listOfAllCells[i].cellTextBox.text = "\(value)"
}
}else if valuesObject is FuelConsumption {
...//And for all other Units same thing..
}
}
func checkTypes<T>(tag: Int, allCells: [ValuesCell],entryValues: Double, valuesObject: T){
if valuesObject is Area {
classValues = [SquareMeter.self, SquareKilometer.self, Hectare.self, SquareDecimeter.self,
SquareCentimeter.self, SquareMillimeter.self, SquareMile.self, Acre.self,
SquareYard.self, SquareFoot.self, SquareInch.self]
// let classValues: [Area.Type] = [SquareMeter.self, SquareKilometer.self, Hectare.self, SquareDecimeter.self,
// SquareCentimeter.self, SquareMillimeter.self, SquareMile.self, Acre.self,
// SquareYard.self, SquareFoot.self, SquareInch.self]
// print("classValues count je : \(classValues.count)")
// print("listOfAllCells count je: \(listOfAllCells.count)")
//Fixing index difference between tags going out of bounds
for i in 0...(listOfAllCells.count - 1){
if i == tag {
print("Evo ga tag \(tag)")
}else{
//print("Ovde baca index out of range i ima vrednost: \(i)")
let object = classValues[i].init()
let value = object.ConvertFromMainUnitToUnit(entryValue: entryValues)
//print("Vracam vrednost druge metode za \(i) element je : \(value)")
listOfAllCells[i].cellTextBox.text = "\(value)"
}
}
}else if valuesObject is Temperature {
...//And for all other Units same thing..
}
}
}
func checkTypesForSelected<T>(tag: Int,cells: [ValuesCell],entryValues: Double, valuesObject: T) -> Double{
//Checking what unit is selected and calculating all values for all units in that category
if valuesObject is Area {
classValues = [SquareMeter.self, SquareKilometer.self, Hectare.self, SquareDecimeter.self,
SquareCentimeter.self, SquareMillimeter.self, SquareMile.self, Acre.self,
SquareYard.self, SquareFoot.self, SquareInch.self]
if listOfAllUnitObjects[tag] is SquareMeter.Type {
var testObject = classValues[tag].init()
testObject = createInstance(typeThing: (listOfAllUnitObjects[tag] as? SquareMeter.Type)!)
let value = testObject.ConvertFromUnitToMainUnit(entryValue: entryValues)
return value
} else if listOfAllUnitObjects[tag] is SquareKilometer.Type {
var testObject = classValues[tag].init()
testObject = createInstance(typeThing: (listOfAllUnitObjects[tag] as? SquareKilometer.Type)!)
let value = testObject.ConvertFromUnitToMainUnit(entryValue: entryValues)
return value
}else if listOfAllUnitObjects[tag] is Hectare.Type{
var testObject = classValues[tag].init()
testObject = createInstance(typeThing: (listOfAllUnitObjects[tag] as? Hectare.Type)!)
let value = testObject.ConvertFromUnitToMainUnit(entryValue: entryValues)
return value
}else if listOfAllUnitObjects[tag] is SquareDecimeter.Type{
var testObject = classValues[tag].init()
testObject = createInstance(typeThing: (listOfAllUnitObjects[tag] as? SquareDecimeter.Type)!)
let value = testObject.ConvertFromUnitToMainUnit(entryValue: entryValues)
return value
}else if listOfAllUnitObjects[tag] is SquareCentimeter.Type{
var testObject = classValues[tag].init()
testObject = createInstance(typeThing: (listOfAllUnitObjects[tag] as? SquareCentimeter.Type)!)
let value = testObject.ConvertFromUnitToMainUnit(entryValue: entryValues)
return value
}else if listOfAllUnitObjects[tag] is SquareMillimeter.Type{
var testObject = classValues[tag].init()
testObject = createInstance(typeThing: (listOfAllUnitObjects[tag] as? SquareMillimeter.Type)!)
let value = testObject.ConvertFromUnitToMainUnit(entryValue: entryValues)
return value
}else if listOfAllUnitObjects[tag] is SquareCentimeter.Type{
var testObject = classValues[tag].init()
testObject = createInstance(typeThing: (listOfAllUnitObjects[tag] as? SquareCentimeter.Type)!)
let value = testObject.ConvertFromUnitToMainUnit(entryValue: entryValues)
return value
}else if listOfAllUnitObjects[tag] is SquareMile.Type{
var testObject = classValues[tag].init()
testObject = createInstance(typeThing: (listOfAllUnitObjects[tag] as? SquareMile.Type)!)
let value = testObject.ConvertFromUnitToMainUnit(entryValue: entryValues)
return value
}else if listOfAllUnitObjects[tag] is Acre.Type{
var testObject = classValues[tag].init()
testObject = createInstance(typeThing: (listOfAllUnitObjects[tag] as? Acre.Type)!)
let value = testObject.ConvertFromUnitToMainUnit(entryValue: entryValues)
return value
}else if listOfAllUnitObjects[tag] is SquareYard.Type{
var testObject = classValues[tag].init()
testObject = createInstance(typeThing: (listOfAllUnitObjects[tag] as? SquareYard.Type)!)
let value = testObject.ConvertFromUnitToMainUnit(entryValue: entryValues)
return value
}else if listOfAllUnitObjects[tag] is SquareFoot.Type{
var testObject = classValues[tag].init()
testObject = createInstance(typeThing: (listOfAllUnitObjects[tag] as? SquareFoot.Type)!)
let value = testObject.ConvertFromUnitToMainUnit(entryValue: entryValues)
return value
}else if listOfAllUnitObjects[tag] is SquareInch.Type{
var testObject = classValues[tag].init()
testObject = createInstance(typeThing: (listOfAllUnitObjects[tag] as? SquareInch.Type)!)
let value = testObject.ConvertFromUnitToMainUnit(entryValue: entryValues)
return value
}
}else if valuesObject is Temperature {
...//And for all other Units same thing as above..
}
}
return 0
}
最佳答案
在 cellForRow 中这样尝试
let cell = tableView.dequeueReusableCell(withIdentifier: "valueCell") as! ValuesCell
关于ios - Swift UITableViewCell 重用搞乱了标签/应用程序计算错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48004512/
所以我使用一个带有整个 block 的标签作为链接,它是一个产品展示,所以你点击它会转到产品页面。现在我创建了一个标签作为链接到购物车页面的按钮。所以我让它工作,但是当我点击购物车按钮时,两个页面都会
根据 Web 标准,创建带有标题 1 的链接的正确代码是什么? 是吗 stackoverflow 或 stackoverflow 谢谢 最佳答案 根据网络标准,您不能将 block 元素放入内
在Java中它是这样写的..当我移植这段代码时...意识到没有这样的东西 break 和continue . 我知道这些命令没有包含在内,因为在使用带有命令的 goto 时必须有一种更简洁的方法来执
我们有一个相当标准的发布过程,使用 Visual Source Safe 在发布之前标记构建。这允许我们在出现任何问题时从该标签中获取,并在需要更改时使用它进行分支。 我们有几个不同的项目,并且总是使
我必须创建一个搜索内容,其中包含搜索框、标题和段落描述。默认情况下,描述被禁用,当我输入一些与描述文本匹配的文本时,描述段落标签应该打开。一些匹配的演示是这样的: [ fiddle ][1] 但默认情
我一直在阅读有关 的文档标签,我似乎无法理解它与简单地使用 有何不同那是 display: none; 文档:template tag 例子 对比 例子
我需要一个脚本来复制当开关按钮打开时标记,当开关按钮关闭时删除标记。我需要一个简单的方法。这是开关按钮: 我试过这个: var change
JSF 是一个 MVC 框架,但我很困惑为什么我们已经有了这么多 HTML 标签还需要 JSF 标签。毫无疑问,JSF 简化了很多事情。我想进一步了解 JSF 中的模型 View 和 Controll
我在这个 website 上看到了那些 html 代码: Homepa
我添加了 photoswipe 插件,可以使用 搜索我的所有照片。标签,如果点击,照片就会变成全屏。我让它工作了,但现在我的导航栏(有 标签)在点击时会触发 photoswipe 插件。 在 ph
标签
我正在尝试截断显示自 的文本标签,但它不工作。我将样式应用于其他标签样式并且它确实有效(我看到的示例中没有一个使用 标签)。我想知道是否有人可以向我解释为什么会这样(我不是最擅长 HTML/CSS
HTML 是这样的: Menu 1 Menu 2 Sub menu 2
我可以更改 TextInputLayout 的位置 float 标签(底部 float 标签)吗?我需要为波纹管 float 标签设置正确的位置。 最佳答案 我解决了我的问题,这是我的 xml:
我的代码是 printMsg : function(data) { $("#message").html(data.bodyText); ... } 这里 data.body
我是 Scrapy 和 Xpath 的初学者,我正在寻找解析具有以下结构的网站 cat1 value1 value2
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及
我必须从 xml 中解析数据。这是我的 xml- 或者它的 url 是:http://mobileecommerce.site247365.com/admin/catdata.xml News f
如何创建应该允许多行数据的标记。不要说使用textarea标签。我知道,但我只想 标记因为标签具有 value 属性。所以当我从 xml 文件获取值时,我应该使用 jquery 语法动态获取.. 最佳
我有一个页面使用我定义的某些样式。 在同一页面上,我刚刚导入了一个使用自己样式的外部 jQuery 插件,例如,包括 。被我自己覆盖的标签样式。 如何确保我的样式表中的样式不会覆盖 jQuery 插件
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 8 年前。 Improve
我是一名优秀的程序员,十分优秀!