Checking all values of an array [duplicate] - swift

This question already has answers here:
How to check if an element is in an array
(18 answers)
Closed 7 years ago.
Swift 2 - so, I have an array and a uitextfield that a user inputs a string, I want to check whether the textfield.text is equal to ANY of the values in the array, can I do this with one line of code rather than lots of if's and else if's?!?

This is a generic code that will do what you are looking for. The if statement checks to see if a given value is equal to something that is located in the array. Simply replace the arr.contains() with the output you have given for your UITextfield.text Try to do a little research before you post. I can see that you are new here, so here is a little bit of help.
var arr = [1,2,3,4]
if arr.contains(3) {
//do something
}

Related

Why I can't use string by index from array? [duplicate]

This question already has an answer here:
What is the point of cell indexing in MATLAB
(1 answer)
Closed 5 months ago.
I'm new in Matlab, can somebody tell me, why I can't use a string by index like this?
adresuSarasas = {
"C:\\ExperimentData\\volunteer01.txt",
"C:\\ExperimentData\\volunteer02.txt",
"C:\\ExperimentData\\volunteer03.txt",
"C:\\ExperimentData\\volunteer04.txt",
"C:\\ExperimentData\\volunteer05.txt",
"C:\\ExperimentData\\volunteer06.txt",
"C:\\ExperimentData\\volunteer07.txt",
"C:\\ExperimentData\\volunteer08.txt",
"C:\\ExperimentData\\volunteer09.txt",
"C:\\ExperimentData\\volunteer10.txt",
}
skirtukas=';';
pradzia=1;
V1=importdata(adresuSarasas(2), skirtukas, pradzia)
I get error on the last line. error: importdata: FNAME must be a string. Thanks.
cell arrays have different output when indexed differently.
adresuSarasas(2) returns a 1x1 cell array that contains your string, while your function expects a string, not a cell array.
adresuSarasas{2} returns the string inside the cell array which is what your function is expecting.
while later version of matlab have functions accept 1x1 cell arrays (so this code works on newer versions) it's still fruitful to know the difference when working with older versions.

Remove first character from string [duplicate]

This question already has answers here:
What is the most succinct way to remove the first character from a string in Swift?
(13 answers)
Closed 5 years ago.
I have this code:
func barcodeData(_ barcode: String!, type: Int32) {
referenceField.text = barcode!
}
When I scan a barcode the textfield is replaced by it. It's always an "R" in the beginning of the barcode followed by some digits.
I want the textfield to display only the numbers. So if the barcode scanned is "R454512" I want the textfield to show only "454512"
Could someone explain this to me? I'm pretty new in this barcode-world.
I don't have any values yet so how am I supposed to use this?
Thanks
Another way to do this is with a characterSet. This way if there are more letters or spaces at the start or end of the string, you will get the correct result:
barcode.trimmingCharacters(in: CharacterSet.decimalDigits.inverted)

Use the content of a cell as a label of a symbolic variable [duplicate]

This question already has answers here:
Create variables with names from strings
(6 answers)
Closed 5 years ago.
Can I do the following idea in Matlab command?
Assuming that
a = 'c1Tl';
class(a) will return cell.
How I can use the content of an as a cell variable which I can do
c1Tl = 3;
I try to use
sym(a) = 3;
to assign a variable to the content of 'a' but It is not my purpose.
Please help to solve my problem!
Thank you!
The best way to do that is to use a struct data type. You would do something like this:
a = {'c1Tl'};
%Lets make a struct called data which will store the values
data.(a{1}) = 3; % The a{1} accesses the string stored in a and uses it to make a field in the structure data
%To access your data, now you can use
data.c1Tl

Error trying to perform addition using dictionary in swift [duplicate]

This question already has answers here:
Dictionary error: Ambiguous reference to member '+' [duplicate]
(4 answers)
Closed 5 years ago.
teaching myself swift I am trying to understand how dictionaries work. Using playground. I have made a simple dictionary called "menu" that has a list of items with their name as keys and their price as values. Like so:
let menu = ["crisps": 2,
"oranges": 3,
"chicken": 8,
"meat": 12]
Then, I try to add the values of those items like so:
let costOfMeal = menu["crisps"]! + menu["oranges"]! + menu["chicken"]! + menu["meat"]!
This gives me the error: ambiguous reference to member '+'
not sure what's going on. Any input appreciated.
Thanks,
David
let costOfMeals = Array(menu.values).reduce(0, +)
You are trying to add up every key and value together! You should only add up the values. You know the dictionary is Key and Value, and you should only add up the Value's.
This is merely the compiler's automatic type casting getting confused by the multiple additions of unwrapped optionals.
You can help it along by adding an actual integer in the formula.
let costOfMeal = 0 + menu["crisps"]! + menu["oranges"]! + menu["meat"]! + menu["chicken"]!
Don't let it bother you as it has nothing to do with what you're trying to learn and your formula was correct (albeit not safe for production).

JSON string splitting / parsing [duplicate]

This question already has answers here:
iPhone/iOS JSON parsing tutorial [closed]
(6 answers)
Closed 9 years ago.
I have a string that looks like this:
"[{"ImageTagID":78,"Xpixel":408,"Ypixel":69,"Xpercent":17,"Ypercent":68,"ImageID":45617}]"
How do i break it up to pieces?
Thanks,
This is a dictionary. There are keys and values in a dictionary. If you need a particular value, you must get it using the key.
In iOS it is done this way,
int tagID = [yourdictionary objectForKey:#"ImageTagID"];
Hope this helps you start. If you have more questions, do ask me.
Splitting a string:
Example: NSArray *stringArray = [string componentsSeparatedByString: #","];