1
나는 mealTitles 속성을 가진 내가 만든 식사 개체의 배열 (현재 5 개)을 무작위로 추출하려고합니다. 이 같은 셔플 경우에내 대상 위치가 무작위로 표시되지만 나타나지 않는 이유는 무엇입니까?
func shuffleArray<T>(array: Array<T>) -> Array<T>
{
var array = array
for index in ((0 + 1)...array.count - 1).reversed()
{
// Random int from 0 to index-1
let j = Int(arc4random_uniform(UInt32(index-1)))
// Swap two array elements
// Notice '&' required as swap uses 'inout' parameters
swap(&array[index], &array[j])
}
return array
}
내가 셔플 버튼을 사용하여 찾습니다 : 나는 코드를 사용하여, randomise 눌러
이 코드는 콘솔이에서 생산@IBAction func shuffleButton(_ sender: AnyObject) {
shuffleArray(array: myMeals)
print("Objects: \(shuffleArray(array: myMeals))")
print(myMeals[0].mealTitle, myMeals[1].mealTitle, myMeals[2].mealTitle)
}
:
Objects: [<ParseStarterProject_Swift.Meal: 0x6080002747c0>, <ParseStarterProject_Swift.Meal: 0x60800026ea40>, <ParseStarterProject_Swift.Meal: 0x60000027b400>, <ParseStarterProject_Swift.Meal: 0x60000026d980>, <ParseStarterProject_Swift.Meal: 0x608000267d80>]
Sausages and Mash Chicken Korma Fajitas
Objects: [<ParseStarterProject_Swift.Meal: 0x60000027b400>, <ParseStarterProject_Swift.Meal: 0x60800026ea40>, <ParseStarterProject_Swift.Meal: 0x60000026d980>, <ParseStarterProject_Swift.Meal: 0x6080002747c0>, <ParseStarterProject_Swift.Meal: 0x608000267d80>]
Sausages and Mash Chicken Korma Fajitas
즉, 위치가 바뀌고 있지만 식사 제목은 그대로 유지됩니다.
도움을 주시면 감사하겠습니다.
정말 고마워요! 그런 어리석은 실수 –