草庐IT

ios - 从 Realm Results 转换为 Array 产生空对象

当我尝试将Results转换为SwiftArray时,属性处于默认值。假设我写了一个Request对象,如下所示:letrealm=try!Realm()try!realm.write{realm.add(request,update:true)}然后当我像这样从Realm读取它们时:letrealm=try!Realm()letrequestsFromRealm=realm.objects(Request.self)我得到的结果很好。我需要将结果对象转换为数组。我做到了:letrequests=Array(requestsFromRealm)请求对象在那里,但属性是默认值。奇怪的是,

swift - DispatchGroup 和可能的竞争条件?

以下是否会产生可能的竞争条件?letsyncGroup=DispatchGroup()vartempData:[Int]forindexin1...10{syncGroup.enter()//Alamofireisbeingcalledinthefollowing.//Iamleavingoutimplementation,justtosimplify.asyncTaskUsingAlamofire(completionHandler:{(data:[Data])in//Possibleracecondition?//ShouldIusesomethinglike`sync()`and

swift - 如何在 SwiftUI 列表中显示 Realm 结果?

我已经能够将数据保存在Realm数据库中,但无法在SwiftUIList中显示结果。我知道我有数据并且在控制台中打印结果没有问题。有没有办法将RealmResult转换成可以在SwiftUIList上显示的格式?importSwiftUIimportRealmSwiftimportCombineclassDog:Object{@objcdynamicvarname=""@objcdynamicvarage=0overridestaticfuncprimaryKey()->String?{return"name"}}classSaveDog{funcsaveDog(name:String

ios - 如何在 Swift 中传递 Realm 结果?

我有一个查询Realm数据库并列出其结果的UITableViewView。查询包含各种过滤器和排序指令。当用户选择其中一个表格条目时,他们将被带到一个详细View,允许他们向左或向右滑动以查看查询的上一个/下一个结果(按照它们在UITableView中出现的顺序).这个详细View是一个单独的ViewController,我目前正在做的是将结果传递给详细ViewController,以便它可以在它们之间来回移动。在引入删除项目的功能之前,这一直很有效。用户可以删除项目,我说用户是因为其他人可以删除项目,并且该删除将传播到所有用户(通过互联网)。现在,如果用户进入详细View,并且有人远

swift - 错误 : cannot convert value of type '() -> ()' to closure result type 'String' using Swift + PromiseKit

我不熟悉Swift中的promise,并使用PromiseKit尝试在Playground上创建一个非常简单的响应并尝试使用它。我有以下代码:importUIKitimportPromiseKitfuncfoo(_error:Bool)->Promise{returnPromise{fulfill,rejectinif(!error){fulfill("foo")}else{reject(Error(domain:"",code:1,userInfo:nil))}}}foo(true).then{response->Stringin{print(response)}}但是我得到以下错误

ios - alamofire post 方法中的 response.result.value 为 nil

letparametersDictionary=["email":"name@gmail.com","password":"password"]Alamofire.request("http://nanosoftech.com/store/user_check",method:.post,parameters:(parametersDictionaryasNSDictionary)as?Parameters,encoding:JSONEncoding.default,headers:nil).responseJSON{responseinprint("response:",respon

swift - 如何为通用 Result<T> 类型定义相等性?

我有一个普通的Result输入:publicenumResult{casesuccess(T)caseerror}我想制作类型Equatable,很简单:publicenumResult:Equatable{casesuccess(T)caseerror//definitionof==}但是我想使用Result,这是一个类型错误,因为Void不符合Equatable.有没有办法定义Result符合Equatable的类型,接受Result并且仍然对T:Equatable使用正确的相等性检查?这对Void没有意义吗?实现Equatable? 最佳答案

swift - "data.map(Result.success)"是如何工作并返回一种类型的 Result<Data, Error> 的?

我在thistutorial中偶然发现了以下代码我不知道data.map(Result.success)的返回值是如何工作的。到目前为止,我知道.map在闭包中使用$0。在这种情况下,仅提供Result.success。Result类型调用的返回值如何?classDataLoader{funcrequest(_endpoint:Endpoint,thenhandler:@escaping(Result)->Void){guardleturl=endpoint.urlelse{returnhandler(.failure(NError.invalidURL))}leturlSession

ios - 最新的 ReactiveCocoa Carthage 错误 : No such module 'Result'

我正在将我的项目更新到Swift5Xcode10.3。在最新的ReactiveCocoa10.0.0中,以前的Swift版本一切正常已经尝试过:删除和更新所有carthage删除derivedData文件夹,清理并构建 最佳答案 Swift在版本5中将自己的Result类型添加到标准库中。因此,ReactiveSwiftremoveditsdependencyonthethird-partyResultlibraryithadpreviouslyused,并提供这些说明来更新您的代码:IfyouhaveusedResultonlya

swift - 尝试调整 sknode 的大小会产生错误 "Cannot assign to the result of this expression"?

我创建了一个名为level的SKNode子类,我试图更改它的大小,但是我收到错误“无法分配给该表达式的结果”。我做错了什么?classLevel:SKNode{overrideinit(){super.init()self.frame.size=CGSizeMake(width:100,height:100)//Cannotassigntotheresultofthisexpression 最佳答案 frame属性是只读的,如您在SKNode.h中所见@property(SK_NONATOMIC_IOSONLY,readonly)C