Thank you for your question! The issue you're having is that the url points to a Map Service and the code above is attempting to load it as portal item.
You have a couple of options, the first is to use the code you have, but use the World Traffic Service portal item and use an "AGSArcGISMapImageLayer" instead of a feature layer (because the item represents a map service):
let trafficItem = AGSPortalItem(url: URL(string: "https://www.arcgis.com/home/item.html?id=ff11eb5b930b4fabba15c47feb130de4")!)!
let trafficLayer = AGSArcGISMapImageLayer(item: trafficItem)
The second is to use the url you currently have, but instantiate an "AGSArcGISMapImageLayer", like below
let trafficLayer = AGSArcGISMapImageLayer(url: URL(string:"https://traffic.arcgis.com/arcgis/rest/services/World/Traffic/MapServer")!)
map.operationalLayers.add(trafficLayer)
Also, it is best practice to ALWAYS use "https" as opposed to simply "http" for security.
You will need to log in with a named user to see the data.
And if you haven't checked out our new Swift API, you can find it here!
Let me know if you have any more issues!
Mark