Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6626237
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T21:52:10+00:00 2026-05-25T21:52:10+00:00

What is the appropriate way to call a method with an action, and what

  • 0

What is the appropriate way to call a method with an action, and what should the method itself look like for passing a CGPoint parameter? I’ve tried to look up examples online without much luck, so I’ve been pretty much guessing.

What I have tried is this for calling it:

    CGPoint spriteCoord = saveStation.sprite.position;

    id a1=[CCMoveTo actionWithDuration:.4 position:ccp(saveStation.sprite.position.x,saveStation.sprite.position.y)];
    id actionSaveStationReaction = [CCCallFuncND actionWithTarget:self selector:@selector(saveStationReaction : data:) data:&spriteCoord];

    [hero.heroSprite runAction:[CCSequence actions:a1, actionSaveStationReaction, nil]];

And the method itself:

-(void) saveStationReaction:(id)sender data:(void *)data {

    CGPoint spriteCoord = (void *)data; //error: Invalid initializer 

    NSLog(@"spriteCoord x = %f", spriteCoord.x);
    NSLog(@"spriteCoord y = %f", spriteCoord.y);

}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T21:52:10+00:00Added an answer on May 25, 2026 at 9:52 pm

    The proper way to send a CGPoint (or any non-id type like C structs) to a method that takes an id as parameter (any method that uses performSelector) is by wrapping it in an NSValue object:

    NSValue* value = [NSValue valueWithBytes:&spriteCoord objCType:@encode(CGPoint)];
    

    In the method that is being called you can retrieve the point from the NSValue object by casting the data pointer to NSValue* and calling getValue:

    -(void) saveStationReaction:(id)sender data:(void *)data {
    
        CGPoint spriteCoord;
        [((NSValue*)data) getValue:&spriteCoord];
    
        NSLog(@"spriteCoord x = %f", spriteCoord.x);
        NSLog(@"spriteCoord y = %f", spriteCoord.y);
    
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

To repeat a method call (or message send, I guess the appropriate term is)
What is the appropriate way to flip an ExtJs Panel horizontally for RTL languages,
I am looking for an appropriate way to store and access pdf files in
I'm not sure whether or not this is the appropriate way of doing this,
After searching, I dont find the appropriate way to resolve following problem. After activating
Testing: return request.getCookies() == null; is not an appropriate way test. Is there another
One of the appropriate uses for sqlite3 is in-memory databases. This sounds like a
I am looking for an elegant way to call a function based on the
The TransactionScope expects a call to its Complete method as follows. Otherwise the transaction
I'm making a method call which takes the results of another four method calls

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.