Post not yet marked as solved
Still there for me using MapKit, Swift 5, Xcode 12.3. (12C33).
Post not yet marked as solved
Hi again. I'm confused by the following:
let myNumber = 12345
if let myHex = Double(String(myNumber, radix: 16)) {
print(myHex)
} else {
print("Bad input as hexadecimal: \(myNumber)")
}
That works well. However, if I change myNumber to 1234, I get the Bad Input message.
Post not yet marked as solved
I found this to work, but is it the best method?
let myNewNumber = 12345
if let myBinary = Int(String(myNewNumber, radix: 2)) {
print(myBinary)
} else {
print("Bad input as binary: \(myNumber)")
}
Post not yet marked as solved
Thank you both for your responses. I do need to bone up on how to use optionals. Point taken.
One question regarding converting to binary. Would you explain more why I cannot convert "27" . Is there a method to convert integers to binary. Thanks for your help.
And I really like the new forums.xc
Post not yet marked as solved
I looked at the 5.3 beta release notes. There seemed to be a workaround to using my physical watch instead of the simulator. The command is:defaults write com.apple.dt.Xcode Enable43515398 -bool YESThat also does not work for me.
Thanks a ton - the light came on.
Thanks for all the tips !I have changed the definition of stationArray to:var trainArray: [[String: Any]] = []After replacing the `processResponse` code, I now get this console output:configureTable() trainArray: [["LocationCode": G01, "Min": , "LocationName": Benning Road, "Car": 6, "DestinationCode": , "Line": BL, "Destination": Nat''l Air, "DestinationName": Nat''l Air, "Group": 2]]
currentStation count: 1
currentStation type ArrayI still am confused how to access the elements within "currentStation", eg the value for "LocationName", "Car", etc.In objC, I'd use value forKey...How can I do this in Swift? I really appreciate your help.
@OOPer, Thanks for the reply. Let me see if I can answer your questions.1. Line 1 should read:for i in 0..<trainarray.count2. trainArray is derived from a web service. Sorry for the large code snip but this is how the array is populated:@IBAction func updateTrains() {
// Set up the URL request
let tempString1: String = "************"
let tempString2: String = "*************"
pathString = tempString1 + codeString + tempString2
guard let url = URL(string: pathString) else {
print("Error: cannot create URL")
return
}
let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
if error != nil {
print(error!.localizedDescription)
}
if let httpResponse = response as? HTTPURLResponse {
print("statusCode: \(httpResponse.statusCode)")
if httpResponse.statusCode != 200 {
self.showError()
return
}
}
guard let usableData = data else {
self.showError()
return
}
do {
//Get back to the main queue
DispatchQueue.main.async {
self.processResponse(using: usableData)
}
} //End implementing URLSession
}
task.resume()
}
func processResponse(using data: Data?) {
let error: Error? = nil
var jsonResult: [AnyHashable : Any] = [:]
if nil != data {
do {
if let data = data, let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [AnyHashable : Any] {
jsonResult = json
}
} catch {
}
}
if error != nil || jsonResult.count == 0 {
if let error = error {
print("Could not parse loaded json with error:\(error)")
}
} else {
DispatchQueue.main.async(execute: {
if let value = jsonResult["Trains"] as? [AnyHashable] {
self.trainArray = value
}
self.buildDetailsForMap()
})
}
configureTable()
}and trainArray is defined as: var trainArray: [Any] = []I plan to extract the station names and minutes as rows in a WKInterfaceTable.. The other info will be used in follow on controllers. I've logged the urlRequest, and the results are fine.Thanks for any help.David
Post not yet marked as solved
One answer above was to turn off the Xcode ability to use the Microphone. I am finding that if I turn Xcode access to the Microphone ON, I no longer get buzzed with the permission request sheet.However, this still begs the question - my app does not require the microphone - so why is it being requested. Anyway, a workaround for now.In macOS system prefs, go to Security & Privacy > select the Privacy tag > scroll to microphone > allow Xcode permission.
Post not yet marked as solved
This is an old question, but does anyone have a solution?
Post not yet marked as solved
Me too. Any solutions anyone? Thanks