小编Ste*_*ter的帖子

如何通过属性值(日期)对包含NSManagedObject子类实例的swift数组进行排序

我正在尝试对这个问题的接受答案中列出的数组进行排序,但是我遇到了Isuru在对该答案的评论中提到的问题.也就是说,应该通过实体的"日期"属性对数组进行排序的代码会使编译器投诉"无法找到成员'日期'"

这是描述实体的NSManagedObject子类:

import Foundation
import CoreData

@objc(Entry)
class Entry: NSManagedObject {

    @NSManaged var date: NSDate
    @NSManaged var reflections: AnyObject
    @NSManaged var contactComment: NSSet
    @NSManaged var person: NSSet

    override func awakeFromInsert() {
        let now:NSDate = NSDate()
        self.date = now;
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是尝试对数组进行排序的代码:

lazy var entries:[Entry] = {
    var days:[Entry] = self.managedObjectContext!.requestEntity("Entry")as [Entry]
    days.sort({$0.date < $1.date})

    var today:Entry = days.last!
    println(today.date)
    return days
}()
Run Code Online (Sandbox Code Playgroud)

请注意,在该代码的后半部分,我能够访问并记录其中一个条目的"date"属性,并且编译器没有问题.

我的排序语法是否正确?我还没有看到这个代码的另一个问题吗?

arrays sorting cocoa core-data swift

45
推荐指数
3
解决办法
3万
查看次数

如何在Xcode 5产品首选项编辑器中访问资产目录中的图像(用于文档图标)

在提交新的Mac应用程序之前,我认为我确实在最后一步,而且在过去的几个小时里我一直在撞墙,因为我觉得应该真的很容易.

我为我的应用创建和使用的两种不同类型的图标设计了文档图标.我在Images.xcassets中创建了一个新的"Icon",并将相应的文件放入拖放区.

在产品编辑器 - >信息中,我转到文档类型信息所在的位置,但是当我尝试在文档类型或导出的UTI部分的"图标"字段中输入图标名称时,图标图像变为问号 - 没有选项显示在图标的下拉菜单中.

如何让资产目录中的图像/图标显示在编辑器中?或者,如果我要将其手动输入到plist中,我将使用哪种格式来引用资产目录中的Icon文件?

我知道我可能在这里错过了一个简单的步骤,但我看不到它!

macos xcode cocoa

17
推荐指数
2
解决办法
3617
查看次数

SpriteKit模板中GameScene.swift和GameScene.sks文件之间的关系是什么

我一直在玩SpriteKit,并且对于如何从代码中驱动它感觉非常体面,但我对Xcode 6中包含的关卡编辑器感到非常困惑.

我已经观看了wwdc视频("平台状态​​联盟"和"spriteKit中的新内容"),并在网络上徘徊,但未能找到关于关卡编辑器的更多描述,以及它真正在做什么.

我不明白的是,模板设置的两个文件是如何相关的?.sks文件是GameScene.swift文件的表达式,还是它包含的GameScene类?

或者它们是否只是在同一场景中保持将要一起播放的单独对象/节点?

或者(这是我最好的解释)是.sks文件和编辑器基本上是为了使响应角色能够"生活"的环境?如果这是真的,.swift文件中的代码如何与.sks文件中的代码相关?

sprite-kit swift

16
推荐指数
1
解决办法
1万
查看次数

麻烦让UIDocumentBrowserController在基于文档的应用程序中打开文档

我一直在研究一个新的基于文档的应用程序,并且非常高兴新的UIDocumentBrowserController ...试图为文档浏览器推出我自己的解决方案UI很棘手!

我在浏览器创建后打开文档时遇到了一些麻烦.

现在发生的是,当我选择在文档浏览器中创建新文档时,会按预期创建和打开文档,但会记录错误消息.但是,在关闭文档后,即使显示文档,也无法立即或在后续启动时重新打开文件.但是,一个奇怪的线索是,如果我在创建文档后停止运行应用程序,但没有向其添加新信息(触发保存周期),并再次运行项目,我可以正确打开文件.这让我觉得文件被保存的方式就是问题所在.(注意:在此阶段,我正在努力使本地,非/ icloud实现工作,然后我继续进行icloud实现.)

以下是文档保存到磁盘时代码中任何一点的错误消息(或至少大部分时间!):2017-06-20 13:21:58.254938-0500布道设计2 iOS [22454:5000138] [ default] [ERROR]无法获取项目文件的属性值:/// Users/stevenhovater/Library/Developer/CoreSimulator/Devices/9A4364F2-B3A1-4AD9-B680-FB4BC876C707/data/Containers/Data/Application/DD534ED8-C4A3 -40FE-9777-AED961976878 /文档/无标题-9.sermon.错误:错误域= NSFileProviderInternalErrorDomain代码= 1"不允许读者访问该URL." UserInfo = {NSLocalizedDescription =不允许读者访问该URL.}

我怀疑问题在于我的文档类型plists,我试图通过在wwdc 2017 session 229中模仿视频中的设置来设置.

在此输入图像描述 我的文档被一个NSData对象所包围,使用我所采用的UIDocument非常标准的子类实现.(我省略了生成缩略图的代码)

override func contents(forType typeName: String) throws -> Any {  

    print("Saving Document Changes")  
    if sermon != nil {  
        let newData = NSKeyedArchiver.archivedData(withRootObject: sermon!)  

        return newData  
    } else {   
        let newData = NSKeyedArchiver.archivedData(withRootObject: Sermon())  

        return newData       
    }  
}  

override func fileAttributesToWrite(to url: URL, for saveOperation: UIDocumentSaveOperation) throws -> [AnyHashable : Any] {  

    let thumbnail:UIImage = self.createThumbnail() …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch document-based uidocument uidocumentbrowservc

5
推荐指数
1
解决办法
2317
查看次数

在核心数据中选择整数类型

当我在核心数据中创建模型时,我总是有点困惑,我应该选择哪种整数类型-16,32,64.我几乎总是需要一些简单的基本数字:家庭中的人数,就我目前的情况而言.可能会是1-20之间的数字.或者,我在另一个实例中有一个递增的案例ID号...无法想象比几百人更进一步.

这就是交易......很明显,真正的计算机科学家对数字的看法不同,考虑到将要处理数字的体系结构,处理和存储数据所需的空间,向后兼容性,未来校对等因素,当我想到数字时,我基本上会想到一个值有多大.因此,当我必须在三种类型的整数之间进行选择时,当我到达我的过程的那一点时,我基本上对自己说,"好吧,这将是一个小数字,让我们只使用Int 16选项......" ,或者"拍摄,我最终可能会得到一个非常大的数字,所以让我们使用Int 64选择." 基本上,我选择这些数据类型时使用的是我在订购薯条时使用的相同逻辑...如果我真的很饿我会去大,如果我'

我正在学习,知道我没有用正确的术语来考虑这一点,但我真的不知道为什么,而且我不知道选择最佳选择的适当方法.我应该考虑哪些因素...在Int 16,Int 32和Int 64之间选择的最重要标准是什么?

cocoa integer core-data

4
推荐指数
1
解决办法
572
查看次数