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

How to select options based on character user input stored in an array in C?
Remove duplicate array elements with O(N) by not using collections? [duplicate]
Calculate the derivative of a vector
How to assign excel cell with string to array value in visual basic?
python 3 read array (list?) into new values
Decrypt an array of strings in vb.net
bash array with new line as IFS
create new object in array (which is in a object which is in an array which is document) in meteor/mongodb
Initializing an array of records in VHDL
Perl Array and Hash references Handling
Separating digits in decimal representation of integer
How do I return an array from an array function using groovy?
Perl - Reading two files to compare contents
Accessing hash values(arrays) in Perl
C - Errors in header file
Elasticsearch Term Filter on Array

Categories

HOME
arrays
sas
cil
project-management
formal-verification
actionscript
hana
mainframe
jscript
rfc
azureservicebus
phonegap-cli
sequelize.js
httpclient
sudo
currency
slim-3
dropbox
ssr
wordpress-theming
cs-cart
future
multiple-monitors
google-people
yosys
fabric
emv
hash-collision
image-quality
aurelia-binding
devforce
picturebox
oracle-xml-db
powershell-remoting
pace
nodeclipse
axis-labels
mongoexport
silverlight-3.0
agent
equivalence
onbackpressed
google-account
stress-testing
appstore-approval
mouseclick-event
jexl
polar-coordinates
vici
gulp-typescript
libtiff.net
ebtables
vst
scalar
shipitjs
inotifypropertychanged
spring-repositories
usb-drive
multinomial
android-viewholder
evo
visual-studio-code
leadtools-sdk
harp
bridge
ibm-data-studio
mdm-zinc
epl
es2015
pl-i
hana-xs
obfuscar
sysctl
gmaps4rails
node-inspector
jstat
ember-addon
yahoo-boss-api
funkload
anjuta
resource-files
wic
layered
shortcuts
dwolla
autostart
text-services-framework
printing-web-page
msbuildextensionpack
noir
ets
adobe-contribute
rijndael
requestfactory
jquery-ui-button
winverifytrust
oggvorbis
microsoft.ink
soft-keyboard
economics
data-execution-prevention

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