理解 NSManagedObject

2024-03-22

在现有项目中,我尝试在项目创建很久之后引入 Core Data,因此它的模型已经就位。 我已经创建了 xcdatamodel 并向其中添加了我唯一的类。 该类应该充当我的应用程序中对象的全局存储。 该类正确实现了 NSManagedObject,并且我已经验证了它是在上下文中创建和保存的,并且还通过获取结果进行检索。

该类中保存数据的方式是通过NSMutableArray。但这是行不通的。这是该类的一个片段:

@interface WZMPersistentStore : NSManagedObject<NSCoding> {
 NSMutableArray *persistentStorage;
}

@property(nonatomic,retain) NSMutableArray *persistentStorage;

-(void)add:(id)element;
-(void)remove:(id)element;
-(id)objectAtIndex:(NSUInteger)index;
-(NSUInteger)num;

@end

在实现中,我还像这样重写 initWithEntity :

- (id)initWithEntity:(NSEntityDescription*)entity insertIntoManagedObjectContext:(NSManagedObjectContext*)context {
 NSLog(@"init with entity");
 [super initWithEntity:entity insertIntoManagedObjectContext:context];

 return [self init];
}

init 方法仅初始化可变数组,我可以从日志中看到它在创建实体时被应用程序委托正确调用。 add方法只是将消息insertObject发送到permanentStorage。 由此产生的问题是:

  1. 我“概念上”做得对吗?我 意思是,有实例是否正确 托管对象中的变量和 像我一样初始化?
  2. 当 ns 记录大小时 持久存储我总是得到 0 即使在登录后不久 添加对象消息(编辑:这不是 是的,我再次验证了,我 正确地添加了 1).
  3. 被管理对象中存储的对象 类槽 persistenceStorage 是 带属性的普通类。是 我需要做点什么 他们 ?我想不是因为我是 在运行时没有收到任何错误。

No,这不是“正确”的方法。您可以在中执行实例变量的初始化awakeFromFetch http://developer.apple.com/mac/library/documentation/Cocoa/Reference/CoreDataFramework/Classes/NSManagedObject_Class/Reference/NSManagedObject.html#//apple_ref/occ/instm/NSManagedObject/awakeFromFetch。 Apple 针对 NSManagedObject 子类的指南包括以下内容:

你也灰心丧气 压倒性的initWithEntity:insertIntoManagedObjectContext:, dealloc, or finalize。改变价值观 在里面initWithEntity:insertIntoManagedObjectContext:方法不会被注意到 如果你不小心的话, 这些更改可能无法保存。最多 初始化定制应该是 在清醒的人之一中进行…… 方法。如果你覆盖initWithEntity:insertIntoManagedObjectContext:, 您必须确保遵守 方法中规定的要求 描述 [...] (NSManagedObject 类参考 http://developer.apple.com/mac/library/documentation/Cocoa/Reference/CoreDataFramework/Classes/NSManagedObject_Class/Reference/NSManagedObject.html)

为了真正提供帮助,我需要更深入地了解您想要实现的目标。无论如何,我强烈建议梳理一下苹果的核心数据编程指南 http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/CoreData/cdProgrammingGuide.html和示例代码,然后再继续。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

理解 NSManagedObject 的相关文章

  • UITableView框架改变动画问题

    我用谷歌搜索了很多这个问题 但似乎没有答案 所以我希望你们中的一些人知道如何处理这个问题 我有一个具有 tableview 的视图控制器 当我用动画更改视图框架时 一切都很顺利 除了一种特殊情况 当 tableview 的项目多于屏幕大小时
  • 在 UIViewController 上添加 UIView

    我想在 uiviewcontroller 上添加一个 自定义 uiview 这个自定义视图是我用 xib 创建的 它与视图控制器分开 有谁知道如何将带有 xib 的 uiview 添加到 uiviewcontroller 中 提前谢谢了 您
  • 处于编辑模式时滑动即可删除

    我有一个使用 uitableview 的 iPhone 应用程序 我希望始终显示 重新排序 控件 并让用户滑动以删除行 我目前采取的方法是将表格视图置于编辑模式并允许在编辑模式下进行选择 self tableView editing YES
  • 在 xcode 中使用线程调用函数

    我在 xcode 中创建了一个线程 并且给出了从该线程调用的函数名称 但我的问题是 给 call 的函数名称没有被调用 知道何时在该函数中放置断点 code NSThread myThread myThread start self per
  • UIAlertController 在 iOS 9 中不工作

    I have added the UIAlertController code showing login and password textfields it works for iOS 8 but in iOS 9 not works
  • 带 ModalPresentationStyle 的弹出框在 iOS 7 iPad 中不居中

    我在使用 iOS 7 时遇到了一个问题 这似乎是一个错误 或者只是我没有做正确的事情 我有 modalViewController 它在 iPad 上以 ModalPresentationStyle 的形式显示为弹出窗口 而且它不是标准尺寸
  • UIButton 图像未更改/更新

    首先 我对 Objective C 还很陌生 并且仍在尝试尽可能多地学习 所以请耐心等待 现在我有一个以编程方式创建的 UIButton 按下按钮时 将显示一个 UIActionSheet 其中包含 相机 选择照片 或 取消 选项 然后 按
  • 保存录制的 AVAudioRecorder 声音文件:现在怎么办? (iOS、Xcode 4)

    在我的应用程序中 我希望用户能够录制一个声音文件并播放它 然后保存该声音文件以供以后使用 我用了本教程 http www techotopia com index php Recording Audio on an iPhone with
  • 创建类似于邮件应用程序菜单的 iPhone 弹出菜单

    当您想要回复消息时 我想创建一个类似于邮件应用程序中的弹出菜单 我在多个应用程序中看到过这一点 所以我不确定框架中是否内置了某些内容或一些示例代码 在 Swift 中创建操作表 代码已使用 Swift 5 进行测试 从 iOS 8 开始 U
  • NSHTTPCookieStorage 是否跨应用程序持续存在?

    所以我只是好奇 NSHTTPCookieStorage 是否跨应用程序持久存在 或者仅在当前应用程序本地 我希望在另一个应用程序中收集的一些 cookie 可以在搜索应用程序中访问 是这样的吗 谢谢 PS 这是在 iPhone 或 iPad
  • UITableview 中的水平和垂直滚动[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 I want to make a lineup for a festival You can see what I want to a
  • 将第 3 方库 ZXing 导入 Xcode

    我尝试了多种方法将第 3 方库 ZXing 导入我的 iOS 应用程序 但所有方法都很痛苦 或者根本不起作用 如果有人可以建议我做错了什么 或者提出导入 ZXing 等库的更好方法 我将非常感激 一定比这个容易 这就是我所做的 结果是 My
  • 在 uilabel 中查找文本的位置 {x,y}

    我有一个来自服务器的字符串 我正在 UILabel multiligne 上显示它 在该字符串中 我正在识别一些特定的子字符串 我想在该子字符串上放置一个按钮 按钮将是 UILabel 的子视图 为此 我需要子字符串坐标 我经历过这个 但我
  • 最小的 iOS 蓝牙管理器示例

    我一直在构建一个最小的示例 用于使用 iOS 5 0 中的 BluetoothManager 私有框架来检测附近的蓝牙设备 使用此问题中找到的答案 寻找触手可及的通用蓝牙设备 https stackoverflow com question
  • 如何使用 iPhone SDK 实现可滑动的图像堆栈(例如照片应用程序)?

    我想获取一堆图像 或者可能是一组用于下载图像的 URL 并以全屏方式显示它们 一次一个 使用 iPhone SDK 使用用户滑动来平滑地为堆栈中的下一个图像设置动画 Apple 的 Photo app 似乎可以做到这一点 此外 如果尚未检索
  • 覆盖层不与 UITableView 一起滚动 - iOS

    我有一个 UITableView 类 它使用以下方法在转到下一个屏幕时调用加载覆盖 问题是这个加载屏幕不随列表滚动 所以如果你滚动一点并单击某些东西 加载屏幕不会显示 因为它位于顶部 如何让加载屏幕始终保持在 UITableView 的顶部
  • Objective-C – 拥有包含 TestFlight SDK 的 TestFlight 配置

    我已按照 TestFlight 的说明复制 发布 配置 我还使用 TestFlight SDK 从我的应用程序获取实时报告 通过这样做 我必须在我的应用程序中包含一些 TestFlight 代码 当然 我不想在我的应用程序的发布版本中包含此
  • 在 Objective C 的类方法中引用类本身

    我希望我没有跳过 ObjC 手册中的这一部分 但是是否可以从类的一个类方法中引用该类 就像在 PHP 中一样 您将使用 this 来引用当前实例 而 self 引用实例的类 this 的 ObjC 等价物将是 self 那么 PHP 的 s
  • 推送动画,没有阴影和停电

    我有一个简单的iOS NavigationController基于应用程序 二UICollectionViews 相继 如果元素打开 第一个合集 被点击时 第二集 将被打开 非常简单 重要的提示 Both UICollectionViews
  • AVAssetExportSession 为零 iPhone 7 - Plus 模拟器

    AVAssetExportSession在 iPhone 6 及以下版本上运行良好 但在 iPhone 7 iPhone 7 Plus 模拟器上运行不佳 Xcode 8 0 这段代码return nil在exportSession中 当在i

随机推荐

  • 如何向ListView的列表项添加图标/图像

    我已经使用 arrayadapter 创建了 listview 我将 arrayadapter 添加到包含字符串数组的 listview 但我无法添加图标来 eatch listitem 帮帮我 这里有一个免费摘录 http commons
  • 是否可以禁用隐式 ToString() 调用?

    我想知道是否有办法获得此代码的编译错误 var customer new SomeCustomerClass Console WriteLine Customer address customer 所以我将被迫写这样的东西 var cust
  • 如何创建全局样式表以在 Nx React 项目中共享 scss 变量?

    现在 我真的希望这不是太基于意见 但我只是想在这里提供一些建议 因为我不知道如何开始 我有一个基本的Nx https nx dev 带有 TypeScript React 前端的工作区SCSS https sass lang com 风格
  • 如何使用 ARC 处理“require(..., bail)”语句?

    我正在查看一些示例代码Apple 示例代码中的 Square Cam http developer apple com library ios samplecode SquareCam Introduction Intro html 我想使
  • 获取编辑文本的值错误NULLPOINTER 为什么? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在尝试从对话框上显示的编辑字段的值获取文本并将其保存在变量中 final Dialog dialog new Dialog contex
  • 在jboss 7.1.1中配置gmail

    我正在使用 jboss 7 1 1 想使用 JavaMail 发送电子邮件 我尝试过以下配置 但出现错误 有人用 Jboss 7 1 1 配置过 gmail 吗
  • 如何从 Java SE 中的 GlassFish 服务器获取初始上下文?

    我有一个如下所示的课程 public class Poligon public static void main String args try Context ctx new InitialContext ConnectionFactor
  • Linux 上的 .NET Core 支持 Visual Basic 吗?

    我搜索了所有 Microsoft 文档 但找不到任何明确说明 Linux 上的 NET Core 是否支持 Visual Basic 的内容 那么 Linux 上的 NET Core 是否支持 Visual Basic 并且是否有适用于 V
  • 如何使用 Xlib 将一个窗口的内容复制到另一个窗口?

    我想使用 Xlib 将现有窗口的内容复制到我自己的窗口 我尝试过 XCopyArea 但它拒绝在两个 Windows 之间复制 我也尝试过 XGetImage 和 XPutImage 但也失败了 将窗口的图形内容复制到我自己的窗口的最佳方法
  • 如何将使用 XIB 的项目转换为 Storyboard?

    我在使用包含导航控制器的 TabBarViewControllers 的项目中有一些复杂的 XIB 文件 从 Xcode 4 2 开始 我无法再有效地编辑这些 XIB 文件 包含的视图控制器是不可见的 仅表示为灰色框 似乎在故事板项目中这是
  • 如何判断网站上是否加载了 Flash?

    我正在对一个非常大的网站进行一些测试 创建了许多不同的开发人员 有没有办法判断网站是否正在使用flash questions tagged flash和 或已加载闪存plugin questions tagged plugin 如果页面使用
  • 有人可以向我解释一下这段代码是如何工作的吗?(如果需要数字值并且用户输入其他输入,则程序再次要求用户输入)

    我正在读一本关于 C 的书 C Primer Plus 并找到了这段代码 该程序的目的是 如果用户希望将数字输入读取到 例如数组 gt 1 将cin重置为新输入2 摆脱错误的输入3 提示用户重试 书上原话 这是代码 gt 从书中复制的确切代
  • iOS - 如何将MapView限制到特定区域?

    我有以下问题 我有一个 绘制的地图 图像 我将其作为叠加层添加到 MapView 中 没问题 但我需要将 MapView 限制在覆盖区域 因此用户无法在该区域之外滚动 缩放 但应该可以在 边界 内滚动 缩放覆盖层的 意味着我不能只禁用 Ma
  • Windows Phone 8 上的 PhoneGap 和外部链接

    我正在尝试使用 Phonegap 在 Windows Phone 8 上设置电子商店应用程序 当客户选择要购买的商品时 他应该被带到 Paypal 窗口 在那里他们可以进行购买 此应用程序不需要购物车功能 我希望在手机上的本机浏览器中打开链
  • iOS 7 自定义字体对齐

    在 iOS 6 上实现应用程序布局时 我使用了自定义 TTF 字体 Gotham 我注意到它的基线总是比常规字体高一点 但只是稍微调整一下以适应 现在我已经更新到 iOS 7 SDK 在 iOS 7 设备上运行时 字体位置更接近常规字体 但
  • .NET 私​​钥 Rsa 加密

    我需要使用 RSA 1 5 算法加密字符串 我已获得私钥 然而 我一生都无法弄清楚如何将这个密钥添加到班级中 看来密钥必须是 RSAParameter 结构类型 然而 这需要一组我尚未给出的值 例如模数 指数 P Q 等 我拥有的只是私钥
  • 如何在Python中的多个进程之间共享单个MySQL数据库连接

    如何创建单个数据库连接并让每个进程与其通信 以最大限度地减少每次迭代生成新连接的开销 这是一些示例代码来说明我想要做什么 import multiprocessing import os path import hashlib import
  • 将包管理默认为 PackageReference

    Nuget Config 中是否有任何方法可以将包管理选项默认为 PackageReference 我会假设不 因为我没有看到它here https learn microsoft com en us nuget reference nug
  • 如何获取findElementById方法?

    我通过 Maven 依赖项将 Selenium 最新版本 3 3 1 加载到我的系统中 在尝试编码时 我无法获取该方法findElementById 相反 我只得到旧方法findElement 谁能帮我 注意 在maven中 仅显示最新版本
  • 理解 NSManagedObject

    在现有项目中 我尝试在项目创建很久之后引入 Core Data 因此它的模型已经就位 我已经创建了 xcdatamodel 并向其中添加了我唯一的类 该类应该充当我的应用程序中对象的全局存储 该类正确实现了 NSManagedObject