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 6006287
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T01:31:03+00:00 2026-05-23T01:31:03+00:00

I have created a custom button called ModuleUIButton which inherits from UIButton . This

  • 0

I have created a custom button called ModuleUIButton which inherits from UIButton. This custom button has an mutable array property called cycleList.

I have an mutable array of ModuleUIButton‘s called moduleList. I need to be able to access an element of the cycleList mutable array, and I use the following call:

//Create ModuleUIButton
ModuleUIButton *newModuleButton = [[ModuleUIButton alloc] 

//Customize ModuleUIButton
initWithFrame:CGRectMake(29.0,  (200.0+(88*moduleCounter)), 692, 80.0)];
[newModuleButton setTitle:@"Module" forState:UIControlStateNormal];
[newModuleButton setBackgroundColor:[UIColor purpleColor]];

//Add newModuleButton to moduleList array
[moduleList addObject:newModuleButton];

//Access the first element in moduleList which is newModuleButton and add
// a string to it's cycleList property
[[self.moduleList objectAtIndex:0].cycleList addObject:@"new Cycle"];

When attempting to compile however, I get:

Request for member ‘cycleList’ in something not a structure or a Union

Is the compiler complaining because it doesnt know that moduleList‘s 0th element will be a ModuleUIButton? If so, how can I access any of the ModuleUIButtons properties by referencing it from the mutable array?

Any insight would be appreciated!

  • 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-23T01:31:03+00:00Added an answer on May 23, 2026 at 1:31 am

    Is the compiler complaining because it doesnt know that moduleList‘s 0th element will be a ModuleUIButton?

    Exactly. The return type of objectAtIndex: is id. The compiler can’t know what the actual type is, and can’t therefore turn the property access .cycleList into the correct method call as it normally would, because it can’t know what the correct method is.

    The property access essentially works by rewriting your code. The complier sees foo.bar and goes to foo‘s class, finds the methods that correspond to the bar property, and turns what you wrote into [foo bar] or [foo setBar:], as appropriate. The trick is that, since the methods associated with a property can have any name (not just the standard bar/setBar) the compiler must be able to determine the type of the object in order to figure out the right method names to use.

    When you use the bracket syntax, you’re telling the compiler the exact name of the method you want called. It doesn’t have to do any lookup, it just turns that into the usual call to objc_msgSend.

    If so, how can I access any of the ModuleUIButton‘s properties by referencing it from the mutable array?

    Just use the “standard” syntax:

    [[self.moduleList objectAtIndex:0] cycleList]
    

    You can also give the compiler a hint by casting, as Taskinoor suggested:

    ((ModuleUIButton *)[self.moduleList objectAtIndex:0]).cycleList
    

    This explicitly tells the compiler to treat the object being returned from objectAtIndex: as a ModuleUIButton; it can then figure out what the method name should be.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

This way i have created my custom button and set the image.I have set
I'm trying to create a custom control - a button - which will have
If have created a custom role within SqlServer which I added to the db__denydatareader
I have created a simple Asp.Net custom control which automatically combines all the correct
I have created a small flash CS4 project that has a few custom components
I have an application that has created a number of custom event log sources
I have created a custom web control to act as a button with an
I have created a custom control in C# ( Overridden methods in Button control
I have created custom MembershipUser, MembershipProvider and RolePrivoder classes. These all work and I
I have created a custom dialog for Visual Studio Setup Project using the steps

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.