2016-03-01 22 views
0

這是我作爲一個練習從我的課,我正在重寫它(因爲我是新來的)的swift代碼。String.Index沒有一個名爲advancedBy的成員

截至 let end = starIndex.advancedBy(position)的位置,我得到的String.Index錯誤消息沒有一個成員叫advancedBy我不知道這意味着什麼或如何糾正它只是還沒有,在瞭解任何幫助非常感謝我我做錯了。

//: Playground - noun: a place where people can play 

import UIKit 

var str : String = "Hello, playground" 

str 

let strFix = " Can not change" 
str = "Good bye" 
//strFix = "Testing" 

var str2 = str + "F" 

var townName = "NeverLand" 

let population = 30000 

let numOfStopLight : Int = 10 

print("\(townName) has populations of \(population) 
and has \ (numOfStopLight) Stop Lights") 

for c in townName.unicodeScalars 
{ 
    print ("\(c)") 
} 

let starIndex = str.startIndex 

let position = 3 

let end = starIndex.advancedBy(position) 

let charAt = str[end] 

let range = starIndex...end 

str[range] 

let aChar: Character = "\u{1F60E}" 

str.append(aChar) 

let dollarSign = "\u{24}"  //$, Unicode scalar U+0024 
let blackHeart = "\u{2665}"  // , Unicode scalar U+2665 
let sparklingHeart = "\u{1F496}" // , Unicod scalar U=1F496 
str.append(Character(sparklingHeart)) 

for c in str.characters 
{ 
    print("\(c)") 

} 
    for c in str.unicodeScalars 
{ 
    print("\(c.value)") 
} 

///////////////////// 


struct Car 
{ 
    var make : String = "" 
    var price : Double = 0.0 
    let color : String = "RED" 

    func getMske()->String 
    { 
     return make 
    } 
    mutating func setMake (m: String) 
    { 
     make = m 
    } 
    func showCar()->String 
    { 
     return "Make:\(make) Price=\(price) Color= \(color)" 

    } 
} 
    //let us make some Car 

    var myCar = Car(make: "Nissan", price: 45000.0) 

    print(myCar.showCar()) 

    myCar.setMake("Nissan2016") 

    print (myCar.showCar()) 

    //show pass value 

    func doChange (var c: Car) 
    { 
    c.setMake("Toyota") 

    print (c.showCar()) 


    } 

doChange(myCar) 
print (myCar.showCar()) 


//let us have a class 

class Xcar 
{ 
    var make :String = "" 
    var price : Double = 0.0 
    var color : String = "" 

    init(m :String, p: Double, c: String) 
    { 
     self.make = m 
     self.price = p 
     self.color = c 
    } 
    func setMake(m: String) 
    { 
     self.make = m 

    } 
    func showXCar()->String 
    { 

     return "Make: \(make) Price=\(price) Color=\(color)" 
    } 
} 
func doChangex(c:Xcar) 
{ 
    c.setMake("BMW") 
    print("\(c.showXCar())") 

} 
var hisCar = Xcar(m: "Fiat", p: 15000.0, c: "Blue") 
print ("\(hisCar.showXCar())") 

doChangex(hisCar) 
//notice the function did change 
//because it was a class 
print ("\(hisCar.showXCar())") 
//What is optional 

let a: Float? 
let b: Float? 
let c :Float? 

a = 10 
b = 20 
c = 5 

//this is implicit unrap 
let ave = (a! + b! + c!)/3.0 

if let x = a, y = b, z = c 
{ 
    print ("\((x + y + z)/3.0)") 

} 
else 
{ 
    print ("missing value...") 



} 


// note Array, Double, Float, Int and Dictionary are all struct 

var intArray = [Int]() 
intArray.append(50) 
intArray.append(100) 
intArray.append(600) 
intArray.maxElement() 
intArray.capacity 
intArray.count 
intArray.description 
intArray.dropFirst() 
intArray.first 
intArray.description 
intArray.removeFirst() 
intArray.description 

for c in intArray 
{ 
    print("\(c)") 

} 


var dict = [Int :String ]() 

dict = [235 :"Jack", 100: "Joe", 60: "Lisa"] 
dict.description 

for(key, value) in dict 
{ 
    print ("\(key)") 

} 

var name = dict[235] 
+0

你應該給你的問題有這樣一個問題做一個標題,不符合的問題「你有一個問題」。只是一個小提示;) – Markinson

+0

請修改您的標題,並閱讀[問] –

+0

這是一個好主意!謝謝你的提示。在本網站發佈其他問題時,我會將其放在心上。 – ErinAleen

回答

0

嘗試在一行

let startIndex = str.startIndex.advancedBy(3) 
+0

我真的很喜歡這樣寫的,謝謝!我會讓你知道它是如何工作的。 – ErinAleen

+0

不客氣。而且只是爲了讓你知道 - 如果你喜歡答案,你可以贊成它,如果你有一個正確的答案(傑伊的答案),你也應該把它標爲正確的 – Roee84

+0

對!這個網站太棒了:) – ErinAleen

0

的代碼有許多的問題,這樣做,我們不知道預期的輸出是什麼,但這裏有幾個項目:

只有'str'的行應該被刪除。

您可能正在運行舊版本的Xcode或OS(或兩者)。這是Swift2,你應該使用Xcode 7或更高版本。

此外,還有'var'應該是'let'(hisCar)並且有一些未使用的變量。

好消息是,一旦你解決這個問題,該代碼可以正常運行(據我可以告訴)

+0

謝謝!你是對的 - 一旦我能夠獲得更新版本的Xcode,錯誤就消失了。非常感謝回覆! – ErinAleen

相關問題