草庐IT

objective-c - 如果静态变量在上一行被初始化为 nil,为什么还要检查它是否为 nil?

下面是来自Apple'siOSCoreDatatutorial的代码示例我认为条件语句检查对象是否为nil很奇怪。如果条件语句之前的行将对象设置为nil,对象是否总是计算为nil?//AdateformatterforthetimestampstaticNSDateFormatter*dateFormatter=nil;if(dateFormatter==nil){dateFormatter=[[NSDateFormatteralloc]init];[dateFormattersetTimeStyle:NSDateFormatterMediumStyle];[dateFormatter

ios - NSString 比较 @""== nil

我想比较两个字符串,我希望nil等于空白字符串(@"")。现在我正在这样做,效果很好:if([self.firstName?self.firstName:@""isEqualToString:anotherContact.firstName?anotherContact.firstName:@""]){//Theyareequal.}但似乎我遗漏了一些更简单的东西。我在这里不是要区分大小写。如果大小写不同,则测试应该失败。 最佳答案 [stringlength]有效,但如果它也为nil,它将返回零。如果您可以接受,那就更简单了。顺便

iphone - NSDateFormatter 在凌晨 2 点返回 nil

我正在尝试使用以下代码将字符串转换为NSDate:NSDateFormatter*dateFormatter=[[NSDateFormatteralloc]init];[dateFormattersetTimeZone:[NSTimeZonelocalTimeZone]];[dateFormattersetDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];NSDate*date=[dateFormatterdateFromString:@"2013-03-10T02:00:00"];它在除02:00:00之外的所有时间都工作正常,如上所示,它返回nil。有什么想

iOS AVPlayer replaceCurrentItemWithPlayerItem :nil block UI Thread

似乎apireplaceCurrentItemWithPlayerItem:会卡住主线程几秒钟,我知道替换项目需要新项目的信息,这可能需要一些时间来预加载。但是问题来了,为什么用nilitemobject替换CurrentItemWithPlayerItem:也会卡住主线程?我碰巧有时需要超过5秒来替换一个nilplayerItem。我想知道我该怎么做才能避免这个问题。感谢您的任何建议! 最佳答案 当我使用UICollectionView通过ALAssetLibrary显示和预览本地照片库中的视频时,我遇到了类似的阻塞UI线程问题。

ios - NSEntityDescription 仅在 iPad Air 7.1 上返回 nil

我最近一直在为我的一个应用程序使用CoreData。奇怪的是,它仅在装有iOS7.x的iPadAir上崩溃。我在物理设备和iOS模拟器上都运行过,它永远不会在Air上崩溃,并且总是在其他地方运行。(它不会在iPadAiriOS8.0上崩溃)崩溃发生在我的一个CoreData调用中,特别是varchildEntity=NSEntityDescription.entityForName(ChildInSessionEntity,inManagedObjectContext:context)varparentEntity=NSEntityDescription.entityForName(P

ios - 在一个函数中返回 self 很快就给了我 nil

我在playground中实现了一个GreetingDelegate协议(protocol),它有一个函数sayHi(假设)和一个符合所述协议(protocol)的类Data。我还有一个名为Class的类,它有一个符合GreetingDelegate的委托(delegate)、另一个sayHi函数和一个确定谁应该响应sayHi的函数。如果Class没有委托(delegate),则触发他自己版本的sayHi函数,但如果委托(delegate)存在,则触发委托(delegate)版本的函数。protocolGreetingDelegate{funcsayHi(name:String)->S

ios - sendAsynchronousRequest 说它在展开可选值时发现 nil

这是我的代码崩溃的部分:letbodyData="username="+username+"&password="+passwordletURL:NSURL=NSURL(string:"URLOFAPHPFILE")!letrequest:NSMutableURLRequest=NSMutableURLRequest(URL:URL)request.HTTPMethod="POST"request.HTTPBody=bodyData.dataUsingEncoding(NSUTF8StringEncoding);NSURLConnection.sendAsynchronousReque

ios - Swift:作为 NSErrorPointer 传递的 NSError 始终为 nil

我正在尝试按照Apple的Swift文档(https://developer.apple.com/library/mac/documentation/swift/conceptual/BuildingCocoaApps/AdoptingCocoaDesignPatterns.html)的“错误报告”部分中的说明实现错误处理,但我一定遗漏了一些东西。我有下面的代码(简化),即使网络请求明显失败(我与互联网断开连接,并且打印“ERROR”)我作为指针传递的错误变量在完成block内始终为nil...我做错了什么?谢谢!overridefuncviewDidLoad(){super.view

swift - RestKit:映射类在 Swift 中为 nil

我是Swift和RestKit的新手,我正在尝试制作一个简单的示例来运行,这是我的映射代码:varmapping=RKObjectMapper(forClass:User.self)println(mapping.objectClass)mapping.addAttibuteMappingsFromArray(["id","email"])运行代码时,调试器提示NSInvalidArgumentException',原因:'***setObjectForKey:key不能为nil。第二行打印'nil'。我怀疑我没有正确初始化映射器对象,但正确的方法是什么?谷歌几乎什么都不告诉我。感谢您

ios - 读取加速度计数据时发现 nil

我在使用加速度计时遇到问题,我不明白为什么我无法读取数据:我检查加速度计是否可用:ifself.motionManager.accelerometerAvailable==true{我开始加速度计更新:self.motionManager.startAccelerometerUpdates()然后我尝试读取数据,但出现错误:println("data.acceleration.xis:\(self.motionManager.accelerometerData.acceleration.x)")在展开可选值时意外发现nil为什么会这样?(如果我使用startAccelerometerU