jjzjj

NSNumber

全部标签

Swift 弱惰性变量不会编译

为了演示这个问题,我做了一个普通的Cocoa项目。这是AppDelegate.swift:importCocoa@NSApplicationMainclassAppDelegate:NSObject,NSApplicationDelegate{weaklazyvarisGood:NSNumber?={returntrue}()funcdoSomething(){letresult=isGood!}funcapplicationDidFinishLaunching(aNotification:NSNotification){//Insertcodeheretoinitializeyour

ios - swift + 核心数据 : Can not set a Bool on NSManagedObject subclass - Bug?

我有一个我似乎无法弄清楚的奇怪问题,我有一个带有自定义NSManagedObject子类的简单实体:@objc(EntityTest)classEntityTest:NSManagedObject{@NSManagedvarcrDate:NSDate@NSManagedvarname:String@NSManagedvarcompleted:Bool@NSManagedvarcompletedOn:NSDate}这就是问题所在,我可以很好地创建对象并设置所有值并将其存储在一个数组中。但是后来,当我尝试检索同一个对象时,我可以设置除“已完成”字段之外的所有值。我收到一个运行时错误“EXC

ios - swift + 核心数据 : Can not set a Bool on NSManagedObject subclass - Bug?

我有一个我似乎无法弄清楚的奇怪问题,我有一个带有自定义NSManagedObject子类的简单实体:@objc(EntityTest)classEntityTest:NSManagedObject{@NSManagedvarcrDate:NSDate@NSManagedvarname:String@NSManagedvarcompleted:Bool@NSManagedvarcompletedOn:NSDate}这就是问题所在,我可以很好地创建对象并设置所有值并将其存储在一个数组中。但是后来,当我尝试检索同一个对象时,我可以设置除“已完成”字段之外的所有值。我收到一个运行时错误“EXC

swift - 使用 setValue(value, forKey : key) on Int? 类型触发非键值编码兼容方法

我在兼容NSKeyValueCoding的SwiftNSObject子类中成功地使用了setValue(value,forKey:key)方法。这在Stringoptionals上非常有效,例如varname:String?但是,在Intoptionals上,它失败了,触发了我为调试目的而重写的未定义键方法:overridefuncsetValue(value:AnyObject!,forUndefinedKeykey:String!){println("\(self)thisclassisnotkeyvaluecoding-compliantforthekey\(key)")}因此,

swift - 使用 setValue(value, forKey : key) on Int? 类型触发非键值编码兼容方法

我在兼容NSKeyValueCoding的SwiftNSObject子类中成功地使用了setValue(value,forKey:key)方法。这在Stringoptionals上非常有效,例如varname:String?但是,在Intoptionals上,它失败了,触发了我为调试目的而重写的未定义键方法:overridefuncsetValue(value:AnyObject!,forUndefinedKeykey:String!){println("\(self)thisclassisnotkeyvaluecoding-compliantforthekey\(key)")}因此,

swift - 在 Ubuntu Linux 上,数字类型不会自动桥接到纯 Swift 中的 NSNumber?

在MacOS上,如果您这样做:importFoundationletx=Int32(1)as?NSNumberx不为零。在UbuntuLinux上,如果您执行相同的操作(即使使用Swift3.1.1),x为nil。我是不是做错了什么,或者这仅仅是因为在Ubuntu/Linux上没有将数字类型与Foundation和Swift桥接到NSNumber上?另见IsitpossibletoreplicateSwiftsautomaticnumericvaluebridgingtoFoundation(NSNumber)for(U)Int8/16/32/64types?和https://gith

swift - 在 Ubuntu Linux 上,数字类型不会自动桥接到纯 Swift 中的 NSNumber?

在MacOS上,如果您这样做:importFoundationletx=Int32(1)as?NSNumberx不为零。在UbuntuLinux上,如果您执行相同的操作(即使使用Swift3.1.1),x为nil。我是不是做错了什么,或者这仅仅是因为在Ubuntu/Linux上没有将数字类型与Foundation和Swift桥接到NSNumber上?另见IsitpossibletoreplicateSwiftsautomaticnumericvaluebridgingtoFoundation(NSNumber)for(U)Int8/16/32/64types?和https://gith

ios - 无法将类型 'NSNull' 的值转换为 'NSNumber'

我有一个与API交互以获取数据的iOS应用程序。到现在为止一切正常。但是,该应用程序似乎在登录后崩溃了。这是我的代码:funcEvaluate(response:NSDictionary){ClientWorkoutID=response["clientworkout_id"]as!IntProgramUserID=response["clientworkout_userid"]as!IntProgramID=response["clientworkout_programid"]as!IntWorkoutID=response["clientworkout_workoutid"]as!

ios - 无法将类型 'NSTaggedPointerString' 的值转换为 'NSNumber'

我有一个像这样的Swift结构。structUsage{vartotalData:DoublevarremainingTotalData:Doubleinit(jsonData:NSData){varjsonDict=[String:AnyObject]()do{jsonDict=tryNSJSONSerialization.JSONObjectWithData(jsonData,options:[])as![String:AnyObject]}catch{print("Erroroccurredparsingdata:\(error)")}totalData=jsonDict["to

iphone - 内存管理怪癖!关于 NSNumber

我最近一直在涉足ObjectiveC,内存管理和理解它的细微差别到目前为止是一个挑战。我理解我创建的每个对象,我都拥有它的所有权,并且在我使用完它后我必须释放它?(如果我错了,请纠正)。进入核心问题:假设我有一个名为-(void)doSomething;的方法/消息该接口(interface)有一个bool变量turn,doSomething需要利用turn的值来更改NSMutableArray中的值,效果如下:[[matrixobjectAtIndex:1]replaceObjectAtIndex:1withObject:turn];很明显这是行不通的,因为“turn”不是一个对象。