如何在 AppDelegate.swift 中使用我的 class

How do I use my class in AppDelegate.swift

我在项目中有一个“成员”class,我正在尝试将一些数据从 Phone 传递到 Watch 扩展。错误说:使用未解析的标识符‘Member’

我试图创建一个模块“MemberKit”并导入它,但我仍然遇到这个错误。

提前致谢!

func application(application: UIApplication, handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]?, reply: (([NSObject : AnyObject]!) -> Void)!) {

if let userInfo = userInfo, request = userInfo["request"] as? String {

  if request == "getMembers" {

    var members = [Member]()
    let temp = Member(nickname: "Tom", phone: "333-111-2222", profilePhoto: "tom.png")
    members.append(temp)

    reply(["request": NSKeyedArchiver.archivedDataWithRootObject(members)])
    return
  }

}


reply([:])
}

确保在您的 AppDelegate 可以 "see" 的地方声明 Member

这个概念称为 "scope",对许多编程语言都至关重要,包括 Swift。 类 在其他 class 中声明,例如,在 class 之外是不可见的(除非他们被赋予特定的访问修饰符)。

如果该解决方案失败,试试这个:

  1. 在文件导航器中单击 Member.swift
  2. 然后,在文件检查器中,确保正确的复选框 在 "Target Membership."
  3. 下打勾