JSON string splitting / parsing [duplicate] - iphone

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: #","];

Related

Accessing values - Swift [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 4 years ago.
Improve this question
You are given a dictionary crypt of type [String:String] which has values for all lowercase letters. The crypt dictionary represents a way to encode a message. For example, if crypt["h"] = "#" and crypt["i"] = "!" the encoded version of the message "hi" will be "#!".
The thing is that i have to Write code that would take any string containing only lower case letters and spaces and encode it using the crypt dictionary. I have successfully failed trying to write the code so i ended up just using a single print statement
//print(crypt["h"]!,crypt["i"]!).
If you have any idea you would like to share, please do so.
Thank you
Does this do what you're looking for:
let message = "hi"
let encryptedMessage = message.map { crypt[String($0)]! }.joined()
If you're unfamiliar with it, mapping a string iterates through each character, doing something to it, and returning that string. $0 refers to the first parameter (in this case #1 of 1, but 0-indexed).
As Dopapp suggests, map is the most elegant solution. If you want to see the steps broken out a bit, you can do it the long way.
var message = "hi"
var crytpedMessage = ""
for char in message {
let newChar = crypt[String(char)]
cryptedMessage.append(newChar)
}

How to replace spaces in string with underscore [duplicate]

This question already has answers here:
Any way to replace characters on Swift String?
(23 answers)
Closed 5 years ago.
Alright, so I am pulling weather data into my app, and in order to pull the location based api url, I have to insert the city and the shorthand state (i.e. CA, MO, NY, ... etc.) into the api url. I am able to get both the city and shorthand state, the problem is any spaces in the city need to be formatted as underscores, such as that New York has to equal New_York. How do I go about doing this? The city name is in a String format. I already see answers on Stack Overflow, but none are Swift 4.
Proper implementation is the exact same as Swift 3:
let str = "New York"
let replaced = str.replacingOccurrences(of: " ", with: "_")

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)

Checking all values of an array [duplicate]

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
}

Sorting Array alphabetically [duplicate]

This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
How to sort a NSArray alphabetically?
Hi all,
I have an array which consist of companies name. I want to sort array alphabetically so that companies name come in alphabetic order.
Please suggest me how to do this.
Thanks in advance
[myArray sortUsingSelector:#selector(caseInsensitiveCompare:)];
NSArray *sortedStrings = [strings sortedArrayUsingSelector:#selector(compare:)];
If the array consists of NSStrings:
[companies sortUsingSelector:#selector(compare:)];