2015-07-10 65 views
0

我有一個表視圖,我想從我的數組的對象中放行名。將數組中的值放入swift中?

我宣佈一個數組

var myArray = [1,2,3,4,5,6,7] 

在我的tableView我怎樣才能把從該array.I值沒有找到ObjectAtIndex方法,所以我這樣做

myLabel.text= String(format: "%@",array [ indexPath.row]) 
+0

'let myArray = [1,2,3,4,5,6,7];讓text =「\(myArray [indexPath.row])」。你應該閱讀[The Swift Programming Guide:Strings and Characters](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/StringsAndCharacters.html#//apple_ref/doc/uid/TP40014097- CH7-ID285),其中涵蓋了字符串插值。 – ABakerSmith

+0

當我可以使用let和var的情況下數組?我應該使用讓NSArray和VAR爲NSMutableArray? –

回答

1

你可以這樣做。

myLabel.text= String(stringInterpolationSegment: myArray[indexPath.row]!) 
+0

是的兩種方式都是正確的。但你能告訴我兩種方法之間的區別嗎? –

+0

用「\(yourValue)」用法,你可以將任何值轉換爲字符串,但如果它是複雜變量,附加或動態創建的,最好使用stringInterpolationSegment方法 –

1

最簡單的方法是使用串插

myLabel.text = "\(array[indexPath.row])" 

如果您想了解更多,請諮詢official documentation

+0

它對我有用。在Swift中是否刪除了ObjectAtIndex? –

+0

'objectAtIndex'是'NSArray'的一個方法,在swift中被下標運算符'[]'所取代。然而,swift數組和'NSString'是兼容和可互換的,你可以將一個數組轉換成'NSString'來訪問它的所有屬性和方法:'let nsArray = array as NSArray' – Antonio

1

myArray[Int]類型的迅速Array,這是不NSArray,swift數組沒有屬性ObjectAtIndex,所以你可以通過這種方式使用索引訪問swift數組中的元素:

var myArray = [1,2,3,4,5,6,7] 
myLabel.text = "\(myArray[indexPath.row])" 

而且myArray[indexPath.row]將返回詮釋,因爲myArray類型是[Int]

如果你想將文本分配到myLabel,那麼你必須將其轉換成StringInt,你可以做到這一點的串插。

0

你可以這樣寫也:

myLabel.text = String.localizedStringWithFormat(" %.02f %.02f %.02f", r, g, b) 
1

你有兩個錯誤在那裏。首先你已經聲明myArray不是數組。其次,當使用整數時,你必須使用%d。像這樣嘗試:

let myArray = [1,2,3,4,5,6,7] 

myLabel.text = String(format: "%d", myArray[indexPath.row])