Re: passing an object between views
Re: passing an object between views
- Subject: Re: passing an object between views
- From: John Greene <email@hidden>
- Date: Wed, 20 Aug 2008 13:52:08 -0700
I appear to have lied: the object makes it across successfully. Thanks
all for your help.
John
John Greene wrote:
> Ah, reasonably better! Now I have:
>
> - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
> if(dvController == nil)
> {
> theaterDetailController *aController = [[theaterDetailController alloc] initWithNibName:@"theaterDetailView" bundle:nil];
> self.dvController = aController;
> [aController release];
> }
> [dvController setTableData:[items objectAtIndex:indexPath.row]];
> [dvController updateRowNumber:indexPath.row];
> [[self navigationController] pushViewController:dvController animated:YES];
> }
>
>
> and the method:
>
> -(void)setTableData:(NSDictionary *)myTheater {
> NSLog(@"myTheater is %@", myTheater);
> }
>
>
> It compiles and runs, but the object myTheater is empty according to
> NSLog. Is there something obvious that I'm doing wrong?
>
> John
>
> Michael Ash wrote:
>> On Wed, Aug 20, 2008 at 12:47 PM, John Greene <email@hidden> wrote:
>>
>>> I've tried a couple of things to make the object available to
>>> theaterDetailController with no success:
>>>
>>> * Creating a method:
>>>
>>> -(void)setTableData:(NSDictionary)myTheater {
>>> NSLog(@"myTheater is ", myTheater);
>>> }
>>>
>>>
>>> Which throws "can not use an object as parameter to a method",
>>> hence my "language forbids it" remark.
>>>
>>
>> The language forbids passing objects by value. You must pass it by
>> reference. NSDictionary *, not just NSDictionary.
>>
>>
>>> * Setting a property of dvController directly:
>>>
>>> dvController.items = items;
>>>
>>>
>>> Which throws "request for member 'items' in something not a
>>> structure or union".
>>>
>>
>> The language forbids setting a property if you haven't declared one,
>> either using @property or by declaring a getter/setter pair. It also
>> forbids setting a property using a pointer declared to be of type
>> "id". Either one of these could be your problem.
>>
>> Mike
>> _______________________________________________
>>
>> 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