草庐IT

ios - 是否可以在 init() 之外使用 JSONDecoder() 来更新对象的属性?

我正在使用Codable的jsondecode.decode([User].self,from:jsonDataRaw)创建NSManagedObjects但我的问题是decode.decode()每次都会创建一个新对象,但我需要一种方法来使用jsonData更新现有对象而不是创建新对象。有没有办法使用Codable做到这一点?classUser:NSManagedObject,Codable{requiredconvenienceinit(fromdecoder:Decoder)throws{guardletcontextUserInfoKey=CodingUserInfoKey.c

ios - 为什么 collectionView.scrollToItem 使用 Swift 将 indexPath 滚动到 View 之外?

以下函数加载一个Messages数组,重新加载collectionView并(应该)滚动到最后一项。问题是最后一个项目向上滚动太远超出View,因此不可见。注意:我使用了3种不同的“原型(prototype)”自动调整大小的单元格,它们根据消息的类型(文本消息、图像消息等)出列。这似乎是一项如此简单的任务,但我开始为这个任务费尽心思。任何帮助都会很棒:)funcloadConversation(){DataService.run.observeUsersMessagesFor(forUserId:chatPartnerId!){(chatLog)inself.messages=chat

Swift 3 在其定义模块之外覆盖非开放变量

我将我的swift2代码转换为swift3。然后我收到了这个错误。谁能帮我解决这个问题?openoverridevarformatKey:String{//overridingnon-openvaroutsideofitsdefiningmoduleget{ifcustomFormatKey!=nil{returncustomFormatKey!}returnString(describing:type(of:self)).components(separatedBy:".").last!}} 最佳答案 根据TheSwiftProg

ios - 触摸事件不会在部分扩展到父 UIView 之外的子 UIView 之外注册

我有一个包含两个元素的父View。本质上,它们包含一个下拉选择。引用下图:单击蓝色元素时,它会显示一个(最初隐藏的)下拉UITableView。此UITableView部分位于还包含蓝色元素的同一父View内。当我尝试单击其中一个UITableViewCells时,只有第一个单元格注册了一个触摸事件。如果表格View的位置使得第一个单元格部分位于父级内部,则仅单击父级寄存器内部的图像的一半。这似乎是一个等级问题。我试过:调整Z指数将整个UITableView置于Storyboard层次结构的父级外部,但在视觉上将其置于其中。我不确定如何进行。编辑:请参阅对我有用的Andrea回答。我最

xcode - 在我的项目之外创建 NSManagedObjectSubclasses 生成类

我在使用CreateNSManagedObjectSubclasses时遇到问题。当我在我的Swift项目中使用它时,所有生成的类文件都会自动保存在我的项目结构之外。然后我需要手动移动到我的项目中,每次都检查“如果需要复制项目”。如何避免这种行为? 最佳答案 您应该只选择您需要的组。如果选择Editor->CreateNSManagedObjectSubclass,默认不选中任何一组项目。 关于xcode-在我的项目之外创建NSManagedObjectSubclasses生成类,我们在

ios - 在 UITableView 之外显示单元格

我有问题在这里被问到UITableViewCelloutsideofUITableView但除了“这不是个好主意”之外没有正确答案。我想在tableView之外加载单元格的contentView(示例情况——当用户点击单元格时,他被导航到新的表格View,其中该单元格充当headerView的一部分)。我提供的链接主题中提出的解决方案是:WhatIhavedoneisloadedthecellfromitsnib,setitup,andthenaddedthecontentViewofthecelltomynewpushedview.Thisachievesmuchofthesamee

ios - 使用应用程序关闭之外的编码器快速保存 View Controller 状态

我正在使用Xcode8和swift2.3即使在应用程序关闭后,我也想将整个ViewController保存到文件并恢复状态。我到处搜索,发现我们需要为此使用编码器。但都只是显示保存一个对象。但在这里我需要保存整个ViewContoller和subview。ViewCotroller将有三个按钮添加文本添加图像:用户可以添加任意数量的TextView和图像。所以我还需要保存所有这些信息。添加ViewController:用户可能有这个viewController的数组,需要保存所有。问题1)是否可以只保存self.view并自动保存所有subview?问题2)我需要在开始时不使用编码器进

swift - 在 Swift 中的参数上下文之外使用运算符函数

因此,在声明闭包时,我们可以变得非常抽象。例如,我们可以使用内联闭包进行排序,例如:vararr=sort(["a","b","c"],{$0>$1})//Shows["c","b","a"]arr然后可以将其简化为这样的运算符函数:vararr=sort(["a","b","c"],>)//Shows["c","b","a"]arr因为:Swift’sStringtypedefinesitsstring-specificimplementationofthegreater-thanoperator(>)asafunctionthathastwoparametersoftypeStri

swift - 变量在闭包之外不会改变

vararrayLength:Int=0//isequalto0overridefuncviewDidLoad(){super.viewDidLoad()//Doanyadditionalsetupafterloadingtheview,typicallyfromanib.leturlPath="http://example.com/json"leturl=NSURL(string:urlPath)!letsession=NSURLSession.sharedSession()lettask=session.dataTaskWithURL(url,completionHandler:{

ios - 如何隐藏我的 UITableViewCell 之外的内容

我有一些UITableView,单元格内容刚从单元格中溢出,在下图中A不需要,但B需要如何实现B而避免A 最佳答案 经过大量搜索,我不得不在我的自定义单元格类中添加这一行并解决了它!:)overridefuncawakeFromNib(){super.awakeFromNib()self.clipsToBounds=true;} 关于ios-如何隐藏我的UITableViewCell之外的内容,我们在StackOverflow上找到一个类似的问题: https