草庐IT

objc_class

全部标签

ios - swift 核心数据 : error: Failed to call designated initializer on NSManagedObject class 'NSManagedObject'

我正在使用核心数据在vc1中保存一个类别,并想将列表属性添加到vc2中的列表中。我的数据模型是许多列表属性的一个类别。我在vc1中添加这样的类别:funccreateNewCategory(){varcategory:NSManagedObject!=NSEntityDescription.insertNewObjectForEntityForName("Category",inManagedObjectContext:self.context)asNSManagedObjectcategory.setValue(self.categoryTextField.text,forKey:"

iOS 单元测试 : Class is implemented in both

我正在使用Swift2和Xcode7构建iOS9应用。我的应用程序在将它部署到我的手机时运行良好,但是当我运行任何单元测试时,我收到很多类的以下错误消息:Class_TtC519isimplementedinboth/Users//Library/Developer/CoreSimulator/Devices//data/Containers/Bundle/Application/.app/and/Users///DerivedData//Build/Products/Debug-iphonesimulator/.xctest/.Oneofthetwowillbeused.Whicho

ios - 错误: CoreData: warning: Unable to load class named '' for entity 'Receipt' . 但是类被删除了

我已经为我的实体创建了一个NSManagedObject的子类,但是在我删除它之后因为我不使用它,我只在我的xcdatamodeld文件中指定了实体。当我使用这个实体时,我现在在我的控制台中收到这条消息:CoreData:警告:无法为实体“Receipt”加载名为“”的类。找不到类,而是使用默认的NSManagedObject。!我怎样才能完全删除这个类,以便CoreData不再为我的实体研究一个类? 最佳答案 您很可能仍然让您的模型尝试访问该类。进入您的XCDataModel并确保所有实体的“类名”都设置为NSManagedObj

ios - 为什么 Apple 可以声明不带@objc 的可选协议(protocol)函数和无主可选变量,而我不能?

我不确定如何在swift中声明委托(delegate)。所以我检查了Apple的UITableView的代码(通过命令+单击XCode中的UITableView),发现了一些奇怪的东西。以下是UITableView委托(delegate)的声明:代表是一个unowned(unsafe)optionalvalue,但是根据Apple'sdoc:据说anunownedreferenceisassumedtoalwayshaveavalue但是,委托(delegate)当然可以为nil,即没有值。事实上,委托(delegate)被声明为UITableViewDelegate?,这是一个可选值

swift - 如何将类型为 Class<Class Implementing Protocol> 的值存储在类型为 [String :Class<Protocol>] in Swift? 的字典中

我想在[String:SomeClass]类型的字典中存储一个更专业的类型。这是一些示例代码来说明我的问题(也可以在https://swiftlang.ng.bluemix.net/#/repl/579756cf9966ba6275fc794a上使用):classThing{}protocolFlavor{}classVanilla:Flavor{}vardict=[String:Thing]()dict["foo"]=Thing()它产生错误ERRORatline9,col28:cannotassignvalueoftype'Thing'totype'Thing?'.我试过转换Thi

objective-c - 查看 Objc 文件的 swift 界面

我在一个混合的ObjCSwift项目中工作。我目前正在覆盖在swift子类中用ObjC编写的函数。我想知道是否有一种快速的方法来查看自动生成的objC文件的Swift头文件,以便我可以在函数转换为swift后检查函数的语法。 最佳答案 I'mwonderingifthereisaquickwaytoviewtheautogeneratedSwiftheaderfilesfortheobjC在跳转栏第一个菜单中切换到生成的界面。示例:之前:之后: 关于objective-c-查看Objc文

Swift 2.0 复制 OBJC_ASSOCIATION_RETAIN

我正在扩展Swift2.0中的一些类以使用ReactiveCocoa3.0(swift-2.0分支),但遇到了一些麻烦。我关注了ColinEberhardt'stutorial,并复制粘贴了他的一些UIKitextensionlogic转到我的OSX应用程序。除了这个属性之外,它都编译得很好:UInt(OBJC_ASSOCIATION_RETAIN),这给了我以下编译器错误。useofunresolvedidentifier如何访问此属性?我试过importObjectiveC和#import在头文件中,但似乎没有任何效果。funclazyAssociatedProperty(host

ios - 为什么,将 nil 作为参数从 Objc C 发送到 swift 类初始值设定项,用新对象替换 nil 参数

我创建了这个Swift类:@objcpublicclassTester:NSObject{privatevarname:Stringprivatevaruser:Usersinit(string:String,user:Users){print(user.empId)print(user.name)self.user=userself.name=stringsuper.init()}}我这样从ObjC调用初始化程序:-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDiction

ios - 在 Swift 中使用 Comparable 扩展 @objc 协议(protocol)

我正在尝试使用Comparable扩展我的协议(protocol)Option以使用简单的.sort()方法。下面的简短示例仅使用Equatable来显示错误。@objcprotocolOption:Equatable{vartitle:String{get}varenabled:Bool{get}varposition:Int{get}}func==(lhs:Option,rhs:Option)->Bool{returnlhs.position==rhs.position}Option协议(protocol)必须标记为@objc或继承自NSObjectProtocol因为它将与UIK

ios - "Unknown class in interface builder file"在 Storyboard中使用从泛型类继承的类时

我最近重构了我的类BookTableViewController来自UITableViewController的简单继承,所以它现在继承自通用类FetchedResultsTableViewController它本身继承自UITableViewController.类声明如下所示:classBookTableViewController:FetchedResultsTableViewController{overridefuncviewDidLoad(){//breakpointsinheredonotcatch!}}classFetchedResultsTableViewContro