Re: Cocoa Asynchronous API Design
Re: Cocoa Asynchronous API Design
- Subject: Re: Cocoa Asynchronous API Design
- From: Tito Ciuro <email@hidden>
- Date: Tue, 24 May 2011 11:49:24 -0700
Hi Pablo,
Why would NSOperation be a better solution than say, NSURLConnection? I can call NSURLConnection several times (performing different actions) and have each delegate be invoked appropriately while maintaining some level of concurrency. It seems that adding NSOperation would add an extra level of complexity in this case, no? In any case, it's an implementation detail. What I still wonder is what would simplify the API from the developer's point of view.
Thanks!
-- Tito
On May 24, 2011, at 11:24 AM, Pablo Pons Bordes wrote:
> What about use NSOPeration?
>
> This way you could have a different NSOperation implementation depending of the item type, and use a solution like path1, and it will work at older iOS (the documentation said it is available since IOS 2.0).
>
> I think Bloks was introduced at iOS 4 but, anyway iOS 4 works on any iPhone since iPhone 3G so you will be able to cover most of the devices, if Is it correct? (I thinks it is).
>
> If you move to Bloks it could simplify a lot some asynchronous code, and prepare the code form multiples core devices in the future.
>
> It could be interesting to know how many iPhone older than 3G are in use and install apps on there.
>
> --Pablo
>
>
>
> El 24/05/2011, a las 19:05, Tito Ciuro escribió:
>
>> Hi Seth,
>>
>> I thought about adding blocks, but I would like to support older iPhones if possible. Blocks were introduced in iOS 4, correct?
>>
>> Thanks,
>>
>> -- Tito
>>
>> On May 24, 2011, at 10:30 AM, Seth Willits wrote:
>>
>>> On May 24, 2011, at 8:25 AM, Tito Ciuro wrote:
>>>
>>>> I have a question about Cocoa API design. I think I can give a concrete example to best explain what the goal is. Assume I have an Inventory service and I need to write a client API that deals with it. Goals:
>>>>
>>>> - The API should allow me to add, update, delete and search items
>>>> - These operations should be asynchronous
>>>
>>>
>>> - (void)addInventoryItem:(Item *)item resultHandler:(void (^)(NSError * error))resultHandler;
>>>
>>> In this way, the result handling block already has access to every parameter and the receiver, so there's no need for verbose delegate methods which pass them all back, or packing and and unpacking an object which contains them all.
>>>
>>>
>>> --
>>> Seth Willits
>> _______________________________________________
>>
>> 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
>
_______________________________________________
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