• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: FileWrapper & iCloud
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: FileWrapper & iCloud


  • Subject: Re: FileWrapper & iCloud
  • From: Mike Abdullah <email@hidden>
  • Date: Sat, 01 Dec 2012 16:42:59 +0000

On 30 Nov 2012, at 23:05, Dave Fernandes <email@hidden> wrote:

>
> On 2012-11-30, at 4:46 PM, Mike Abdullah <email@hidden> wrote:
>
>>
>> On 30 Nov 2012, at 18:59, Dave Fernandes <email@hidden> wrote:
>>
>>>
>>> On 2012-11-30, at 6:42 AM, Mike Abdullah <email@hidden> wrote:
>>>
>>>> One way to look at it is that NSPersistentDocument pretty much painted itself into a corner from day 1, and it's too messy for Apple to untangle that.
>>>
>>> Can you elaborate?
>>
>> Well it makes the assumptions that your document:
>>
>> - is comprised of a single Core Data store
>> - has a single managed object context
>
> This definitely limits your options. But, is it necessary to support file wrappers and iCloud? (Just trying to educate myself about how documents work.)

I don't understand your question here. Are you asking if my list of assumptions are necessary conditions for iCloud and file wrapper support?

>
>> - works entirely on the main thread
> This one is already opt-in for both opening and saving, so fragility shouldn't be an issue to upgrading the class.
>
> [Aside: As far as I know you *can* actually open an NSPersistentDocument asynchronously. At least I haven't seen anything that says you can't, and it seems to work on every system I've tried it on.]

Well you would appear to be breaking Core Data's threading contract by doing so. In theory, MOCs know the thread they were created on. So by creating the document on a background thread, you are also creating the MOC on that thread and giving it the wrong idea about the thread it will be used on.

On 10.7+ you can of course tell the context at creation time it's for the main thread, but I'd be a little surprised if NSPersistentDocument is doing that.

I also covered the topic fairly recently: http://www.mikeabdullah.net/concurrently-open-core-data-docs.html


_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: FileWrapper & iCloud
      • From: Dave Fernandes <email@hidden>
  • Prev by Date: Re: Strange observer problem
  • Next by Date: "Dangling reference to an invalid object"
  • Previous by thread: Re: Strange observer problem (solved)
  • Next by thread: Re: FileWrapper & iCloud
  • Index(es):
    • Date
    • Thread