草庐IT

Nil-Coalescing

全部标签

php - 在展开可选值 JSON 序列化时发现 nil

我执行NSURLSession从PHP中获取数据,这是一个JSON。当我执行NSJSONSerialization并将其存储为NSArray时,一切正常,但是当我尝试访问其中的一个元素以将其放入TableView时,它因发现错误而崩溃展开可选值时为nil。它返回的JSON如下所示:[{"title":"data","value":"data"},...]我用来获取值的代码是:self.arrayJSON[indexPath.row]["title"]当我在Xcode控制台中尝试这个时返回这个:▿Optional(somedata)-Some:somedata编辑:JSON解析代码:le

ios - xcode 7 swift 在 TableView 单元格中展开可选时发现 nil

我很抱歉又问了另一个“在TableViewCell中发现nilunwrappingoptional”的帖子,但是经过数小时的调试和阅读这里的其他此类帖子后,我仍然卡住了。我想我已经解决了所有常见的错误,但仍然无法正常工作。作为起点,只要我在单元格中使用默认标签,一切正常,用“cell.textLabel!.text=mystring”引用。我还有另一个案例,我用图像和标签自定义了原型(prototype)单元格,效果也很好。在当前情况下,我有一个普通的UIViewController,其中嵌入了一些其他View和一个UITableView。普通的UIViewController被设置为

ios - 从非事件状态恢复应用程序后,NSManagedObject 的 managedObjectContext 变为 nil

也许你能帮忙,我在其他问题中找不到类似的东西,所以我想我可能会遗漏一些明显的东西。我有Swift中的CoreData+iCloud应用程序。问题场景:启动应用NSManagedObject读取/更新按“主页”(使应用处于非事件状态)恢复应用NSManagedObject读取/更新如果我已经在我的设备上登录iCloud,那么这就可以正常工作。如果我从iCloud注销,那么所有应用程序都可以正常工作,如果我执行问题场景,那么在第5步中NSManagedObject的managedObjectContext为nil,因此我无法对其进行任何更改,并且由于上下文丢失一旦我需要现有对象的上下文,它

ios - 可选的 Int 属性在迁移期间包含 nil 而不是零

我正在尝试从以下模型执行Realm.IO迁移:publicclassRealmBuddy:Object{dynamicvarid=0letcontactId=RealmOptional()dynamicvarname=""lettopics=List()overridestaticfuncprimaryKey()->String?{return"id"}}以下内容:publicclassRealmBuddy:Object{dynamicvarid=0dynamicvarcontactId:String?=nildynamicvarname=""lettopics=List()overr

ios - Swift encodeObjectForKey - 用 nil 更新值

我在SE中的第一篇文章,所以请轻轻地对我....:)我是swift和iOS开发的新手,但在过去几个月里一直在学习。我有一个应用程序,用于通过NSCoder和encodeObjectForKey保存日期和值。我将NSDate值传递给它,并且可以毫无问题地解码它们。但是,如果我尝试传入nil来覆盖现有值,它似乎没有存储,因为旧值在值被解码并返回后返回。我搜索并发现将nil传递给encodeObjectForKey方法似乎是有效的,但我找不到任何信息告诉我在用nil过度使用现有值时这是否有效。谁能提供有关如何删除现有值的指导?我的代码:aCoder.encodeObject(dateSold

ios - SpriteKit 和 Swift,如果条件为真,则将平台设置为 nil 将不起作用

您好,我正在使用swift在spritekit中制作一个简单的2dsidescroller游戏,我遇到了一个我无法解决的问题。我有一个名为(createPlatforms)的函数来生成一些平台(每个平台都在另一个平台之上)并且平台从右到左移动。我还添加了一个名为isJumping的Bool变量,我希望如果变量isJumping为真,则平台physicsbody的值为nil,以便玩家可以跳到它上面并降落在它上面。我有点设法做到了。它适用于第一个平台,但不适用于其他平台。玩家跳到第一个平台上方并降落在上面,但他不能跳到第二个或第三个平台上方。有时大约有10%的时间它适用于所有平台,他可以跳

ios - NSKeyedArchiver archivedDataWithRootObject 在传递图像模型数组时返回 nil

我正在尝试使用[NSKeyedArchiverarchivedDataWithRootObject:dataArray]保存一个包含模型的数组,该模型由图像和字符串组成;但此方法在调用此方法2-3次后返回nil。仅当我尝试存档的模型包含图像时才会发生这种情况。我检查过数据数组不是零。下面是我正在使用的代码:@implementationImagesModel-(id)initWithCoder:(NSCoder*)coder{if(self=[superinit]){self.image=[[UIImagealloc]initWithData:[coderdecodeObjectFor

ios - Object = nil,但代码仍然在 if 语句中执行

我正在使用Firebase3.4.0并执行此代码:ifsnapshot.value!["username"]!=nil{self.usernameTextField.text="\(snapshot.value!["username"]!)"print("SNAPSHOT:\(snapshot.value!["username"])")}我正在从Firebase实时数据库中获取用户的用户名,但没有为该用户提供用户名。当代码执行时,if语句中的两行运行,但打印行打印“nil”。我的Firebase数据结构:"users":{"9Tjjbsj852816":{"Email":"test@t

ios - 游戏运行一段时间后 AVAudioPlayer 返回 nil

我目前正在开发一款小游戏,其中的气球会从屏幕底部浮起,玩家必须在它们到达顶部之前将其弹出。每个气球对象都包含一个方法来安全地设置它是AVAudioPlayer的:funcsetUpAudioPlayerWithFile(file:NSString,type:NSString)->AVAudioPlayer?{letpath=NSBundle.mainBundle().pathForResource(fileasString,ofType:typeasString)leturl=NSURL.fileURLWithPath(path!)varaudioPlayer:AVAudioPlaye

ios - UIWebView request.response = nil 问题

我在webViewDidFinishLoad中遇到了来自UIWebView的问题,我得到了ifleturlResponse=NSURLCache.sharedURLCache().cachedResponseForRequest(webView.request!)?.response{if(urlResponseas!NSHTTPURLResponse).statusCode==200{}}asnil所以在显示正文时我无法检查状态代码。请问哪里有问题?我可以从服务器端做些什么吗?编辑:从其他请求我可以看到响应。 最佳答案 所以,我认