Tôi có lớp sau được viết trong phiên bản trước của Swift. Các Swift 2 biên dịch cảnh báo rằng'kABPersonAddressStreetKey' không được dùng nữa trong iOS 9.0: sử dụng CNPostalAddress.street
'kABPersonAddressStreetKey' đã bị phản đối trong iOS 9.0: sử dụng CNPostalAddress.street
và đưa ra một lỗi
'Không thể tìm thấy một initializer đối với loại 'MKPlacemark' chấp nhận danh sách đối số loại '(tọa độ: CLLocationCoordinate2D, addressDic tionary: [String: String?]) '
Tôi nhận thấy rằng tùy chọn được yêu cầu để giải quyết lỗi nhưng bất kỳ điều gì tôi cố gắng dường như không giải quyết được sự cố. Điều này là do tôi là một newbie để nhanh chóng và giúp đỡ bất kỳ sẽ được đánh giá cao.
import Foundation
import MapKit
import AddressBook
class Artwork: NSObject, MKAnnotation {
let title: String?
let locationName: String
let discipline: String
let coordinate: CLLocationCoordinate2D
init(title: String, locationName: String, discipline: String, coordinate: CLLocationCoordinate2D) {
self.title = title
self.locationName = locationName
self.discipline = discipline
self.coordinate = coordinate
super.init()
}
var subtitle: String? {
return locationName
}
// annotation callout info button opens this mapItem in Maps app
func mapItem() -> MKMapItem {
let addressDictionary = [String(kABPersonAddressStreetKey): subtitle]
let placemark = MKPlacemark(coordinate: coordinate, addressDictionary: addressDictionary)
let mapItem = MKMapItem(placemark: placemark)
mapItem.name = title
return mapItem
}
}
Đây là câu hỏi cũ với câu trả lời đã được đánh giá cao. Câu trả lời của bạn khác với câu trả lời được chấp nhận như thế nào? – JAL