为什么我的newObject方法不叫?

我下面从亚伦核心提示的可可书的练习 - 章关于核心数据。 我有一个基于文档的应用程序,节省汽车(S)数据到一个阵列控制器,那么它使用绑定...问题是,我有一个日期选择器,我想早点初始化为今天的日期作为新汽车加,所以我们继承NSArrayController的的newObject方法。 但是,它总是显示1982年2月12日! 该newObject方法内的的NSLog不叫。 我是什么(或书)失踪?

CarArrayController.h

#import <Foundation/Foundation.h> @interface CarArrayController : NSArrayController @end

CarArrayController.m

#import "CarArrayController.h" @implementation CarArrayController - (id)init //this is not called! { self = [super init]; if (self) { NSLog(@"in init"); } return self; } -(id)newObject { // not called either id newObj = [super newObject]; NSDate *now = [NSDate date]; [newObj setValue:now forKey:@"datePurchased"]; NSLog(@"yep"); return newObj; } @end

MyDocument.xib

有NSArrayController的实例,其自定义类名称设置为CarArrayController。

PS:对于MYDocument.xib我的阵列控制器,“准备内容”按钮被选中,所以automaticallyPreparesContent应设置为YES ...?

--------------解决方案-------------

要设置核心数据实体的新实例的默认值,你会过得更好覆盖awakeFromInsert在你的管理对象子类。 设置的默认值,而不是那里。

至于为什么你重写方法不会被调用,我只能假设你已经NSArrayController的一个子类,但不知何故不使用它? 如何控制器显示如果您登录了吗?

我认为这是在Xcode 4.2中的错误,没有在bignerdranch的论坛上,一个线程:http://forums.bignerdranch.com/viewtopic.php?f=183&t=3465

不知怎的,Xcode中没有意识到,我改变了阵列控制器到我的自定义类。 为了得到它的工作,我第一次加入的initWithCoder方法,那么归档的应用程序,然后回去和删除的initWithCoder方法(要回到我原来的代码),现在它的作品! 在上面的线程人提出其他的解决方案,没有任何意义......我会认为这是一个错误?

分类:可可 时间:2012-01-01 人气:0
分享到:

相关文章

  • 添加一个新的记录编程到可可核心数据实体 2012-08-14

    我正在做的可可一个简单的基于文件的应用程序. 这个应用程序的每个文档应基本管理的日期及债券的数组,因此每个记录日期和说明(TextView的). 同时每个文件是由密码保护. 要做到这一点我创建了一个名为HistoryElement一个核心数据实体(包含日期和注释属性),我还创建了应该只包含密码才能打开该文件的记录的设置实体(我没有找到一个更好的方法,有一个吗?密码绑定到每一个文件,是因为它不是一个全球性的应用程序密码),我不能使用偏好. 我有包含结合设置实体的密码属性密码文本框的偏好选项卡. 好

  • 可可核心数据到PHP:转换日期 2012-08-28

    我正在由核心数据存储在数据库中的日期. 然后我使用PHP来打印出这个日期信息,但日期是走​​出错误的. 当我店2009年8月2日在核心数据就出来了PHP作为周五,8月4日,1978年我如何修复转换? --------------解决方案------------- 我猜了一下这里,但有限的证据符合假说... NSDate的有2001年1月1日(GMT)的绝对基准日期. PHP时间()使用1970年1月1日(GMT)的Unix纪元日期. 它看起来像你有31年的偏移 - 或者更确切地说97830720

  • 在可可核心数据存储应用程序和NSImage中NSData的 2013-02-14

    我写一个可可应用程序显示一个2-D浮动数组. 我现在想这些图像分配给核心数据实体的属性,所以我用的是可转换数据类型. 当我尝试使用可转换属性存储实体内的NSImage中(和/或NSData的)("TheEntity"),叫它问题开始"entityImage". 这里是我的错误: CoreData: error: Serious application error. Exception was caught during Core Data change proces

  • 可可核心数据:无法保存NSTableView的创建项目 2013-10-23

    我是在Mac OS X开发的初学者,我试图开始使用这一切. 这里是我的问题:我已经创建使用核心数据作为存储非基于文档的Cocoa程序. 我已经添加的实体和属性的xdatamodel. 在IB我创建了一个NSArrayController和正确链接它. 我创建绑定到NSArrayController的一个NSTableView的. 接下来,我添加链接到NSArrayController的使用"添加"按钮的方法. 当我尝试它,我可以添加和编辑在表中的项目. 在这里,问题来了:核心数据应该自

  • 可可核心数据 - 后台线程 2014-07-22

    我有一个基于Xcode默认模板的核心数据的应用程序,我有用于查看数据的主界面,然后我有一个后台线程这是网上下载/插入/编辑数据. 我想应用程序启动时,我可以创建两个NSManagedObjectContext中,其中一个应用程序读取和其他在后台线程将被写入,那么当它已经完成写它会调用performSelectorOnMainThread同步两个的NSManagedObjectContext对象. 我是相当新的可可,她想知道如果任何人都可以证实,这应该工作,没有人知道的关于这个例子和讨论,因为我不

  • 可可核心数据:设置默认的实体属性值? 2015-02-01

    我知道我可以设置默认值,无论是在数据模型,还是在实体类的-awakeFromInsert方法. 例如,为了使一个"日期"属性默认为当前日期: - (void) awakeFromInsert { NSDate *now = [NSDate date]; self.date = now; } 我如何虽然可以使一个"IDNumber中"属性默认一个比前一个对象的身份识别? 谢谢你,奥利 编辑:我尝试相关代码(现予以更正) - (void) awakeFromInsert

  • 可可核心数据有效的方法来计算实体! 2012-03-12

    我读了很多关于核心数据..但什么是有效的方法,使在一个实体型的计数(如SQL可以SELECT COUNT(1)......这样做). 现在我只是解决了这个任务与选择所有与NSFetchedResultsController和取得的NSArray的算! 我敢肯定这是不是最好的方法? 谢谢 --------------解决方案------------- 我不知道是否使用NSFetchedResultsController是实现你的目标最有效的方式(但可能). 显式代码来获取实体实例的数量如下: //

  • 可可核心数据的文件名? 2012-11-04

    我跟着苹果的例子创建一个管理对象,顺便说一句是伟大的... http://developer.apple.com/cocoa/coredatatutorial/index.html 不过,我现在想知道的是什么"名"(文件名),用户保存自己的数据. 有谁知道如何从核心数据对象中获取的文件名. 这样的事情将是巨大的... 的NSLog(@"的文件名是%@",[的coredata文件名]); 有任何想法吗? --------------解决方案-------------

  • 可可核心数据不节能两个领域 2014-01-05

    荫试图日期字段+文本字段保存到一个核心的数据stoagemodel. 我已经使用在Interface Builder的"核心数据实体"次助攻,但我不能得到它节省fiels当我按下保存. 它不仅节省了文本字段(但是,如果我更改日期还节省了) - 那感觉就像是唯一的"发送"或"以"fiels其实我编辑.. 这是为什么? 香港专业教育学院上传应用程序的SS,也许它给你一个更好的理解: http://img801.imageshack.us/conten

  • 可可核心数据的自我指涉界面生成器问题 2013-02-17

    我无法理解如何让在Interface Builder以下工作. 我创建了一个核心数据模型类"人",有一些属性(名字,姓等)和其他人(朋友)的关系. 从概念上讲,这是非常简单的. 然而搞清楚如何得到这个工作在IB被证明是非常棘手. 我创建了具有向下的窗口,列出所有的人的左侧一表的接口. 右侧是用于输入一个人的信息的字段. 我想有一个较小的表,显示在右侧的"朋友"一起添加和删除按钮. 单击Add按钮将启动一个小的面板搜索功能来过滤列表下来,让您可以选择那么谁将会被添加到

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.425 (s). 10 q(s)