arrays


Changing a string into a variable in swift


I have an array is of the form
var array = ["cat1", "cat2", "cat3"]
I would like to be able to randomly choose one of these elements, where each element is the actual name of another array.
So I also have
var cat1 = ["Q1", "Q2", "Q3"] basically an array of questions.
this is a similar format for cat2 and cat3.
Now the reason I want this is to randomly choose a topic for questions, then select a question from the chosen array, my problem is I don't know how to programmatically use, say for example,
cat2[1]
I basically want to display the contents of the element that is chosen.
Is this at all possible? I have been trying to get this to play nice for a while now :(
Thank you!
type can either use a [[String]] or create a custom class for that.
To use a [[String]], first declare the arrays cat1, cat2 and cat3:
let cat1 = [...]
let cat2 = [...]
let cat3 = [...]
Then you simply do this:
let array = [cat1, cat2, cat3] // without the ""s!
Refer to this post for how to select a random item.
You basically select a random item from array, put the result into an array called randomTopic or whatever, then choose another random item from randomTopic.
Alternatively, you can create a type to store questions.
struct Topic {
let questions: [String]
}
Then you create an array of Topic i.e. [Topic] and do the same thing.
You can have an array of arrays and not Strings. For example:
var cat1 = ["Q1", "Q2", "Q3"]
var cat2 = ["Q1", "Q2", "Q3"]
var cat3 = ["Q1", "Q2", "Q3"]
var array = [cat1, cat2, cat3]
Or a two-dimensional array:
var array = [["Q1", "Q2", "Q3"], ["Q1", "Q2", "Q3"], ["Q1", "Q2", "Q3"]]
Then you can randomly choose a "line" and then the question from it:
var question = array[randomNumber][questionNumber]
Another alternative is to use a Dictionary. Then you will have this structure:
var dict = ["cat1" : ["Q1", "Q2", "Q3"],
"cat2" : ["Q1", "Q2", "Q3"],
"cat3" : ["Q1", "Q2", "Q3"]]
Why don't you use array of arrays, like
var cat1 = ["Q1", "Q2"]
var cat2 = ["Q10", "Q11"]
var cat3 = ["Q20", "Q21"]
var array = [cat1, cat2, cat3]
And chose randomly one object from array and that one object will be one of cat1, cat2 or cat3 and that represents the array of questions
Edit: Seems that these are your instance variable either initialize them in viweDidLoad if it's in view controller or use the below code
var array = [["Q1", "Q2"],
["Q10", "Q11"],
["Q20", "Q21"]]

Related Links

Creating list from array elements, making sequence of numbers
Pascal Arrays Can't figure out how to print info from arrays
Arrays with negative indices in FreePascal
MongoError: exception: Cannot apply the positional operator without a corresponding query field containing an array
Delete sheets if their names belong to an array
Delphi - Re-split an array of string?
Split a String array after X number of comma
Searching with filter, not working correctly - Parse, Swift
addToSet if not already present
How to convert group of numbers in text file into matrix array
How to create a reverse sort on an Excel array
Deeply-placed array contents were missing
Difference between [String] and Array<String>
Split a numpy array by a key array
“no such instruction error” when assembling an array declaration:
VBA Add All Range Variables to an Array

Categories

HOME
arrays
sass
bing
firebase-app-indexing
visual-studio-2013
translation
avro
deep-linking
extract
docker-swarm
travis-ci
branch.io
phaser-framework
java-home
bro
x11
ndis
jboss7.x
game-physics
viber
gwtp
mule-studio
session-timeout
tortoisegit
raphael
avplayeritem
restfb
bcrypt
nmf
hana-studio
forum
datadog
superagent
blackboard
skygear
edb
m2e
getline
text-files
bigcartel
npm-publish
liquid-xml
codesys
intellilock
ssh.net
powermta
worker
z3py
automator
walmart-electrode
jenkins-jira-trigger
text-classification
ruby-on-rails-2
opencpu
festival
build-process
push-diffusion
activeweb
webkit2
spark-cassandra-connector
windows-nt
jackson-databind
contour
faraday
gradle-release-plugin
picking
interactive-brokers
document-oriented-db
mogrify
vine
criteria-api
epl
custom-url
searchkick
pisa
obfuscar
scala-2.11
dmp
dalekjs
smartystreets
slick-2.0
unison
zipalign
jquery-tabs
cdata
robospice
sttwitter
html-form-post
multiple-conditions
web-safe-fonts
symfony-2.0
gjs
concurrent-programming
visual-web-gui
flexicious
easygui
opengl-es-lighting
nagle
audiostreamer
recordset
graniteds
multibyte-functions
integer-promotion
odbc-sql-server-driver
self-reference

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App