我在didSelectPost的共享扩展中具有以下代码:

let sharedDefaults = NSUserDefaults(suiteName: "group.appliaison.ActionExtensionSharingDefaults")
var urls: [String] = []
urls.append(self.contentText)
sharedDefaults?.setObject(urls, forKey: "stringKey")

以及我的主要应用程序VC中的viewDidLoad中的以下代码
var urls:[String] = []
    override func viewDidLoad() {
        super.viewDidLoad()

        let sharedDefaults = NSUserDefaults(suiteName: "group.appliaison.ActionExtensionSharingDefaults")
        urls = (sharedDefaults?.objectForKey("stringKey") as? [String])!
   ...
    }

但是当我运行它时,出现以下错误:

无法将类型“NSTaggedPointerString”的值强制转换为“NSArray”

最佳答案

 stringKey is as String in sharedDefaults.you can check with
 following code

 if let item = sharedDefaults["stringKey"] {

     if item is String {

       print("I'm String -> \(item)")

    } else if item is [String] {

       print("I'm Arry -> \(item)")
    }
}

关于ios - 无法将类型“NSTaggedPointerString”的值强制转换为“NSArray”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32814186/

10-10 20:11