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

  • Home
  • SEARCH
  • 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 8273421
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 8, 20262026-06-08T07:29:13+00:00 2026-06-08T07:29:13+00:00

I am wondering why there is twice @interface . One in class.h and other

  • 0

I am wondering why there is twice @interface. One in class.h and other in class.m. For example:

TestTableViewController.h:

#import <UIKit/UIKit.h>

@interface TestTableViewController : UITableViewController

@end

and (automatically generated) class.m i find:

#import "TestTableViewController.h"

@interface TestTableViewController ()

@end

@implementation TestTableViewController

... methods delegated from UITable delegates

@end

So my question is, what the @interface TestTableViewController () in the .m file is about. Why it is there? Do I need it?

Thanks in advance

  • 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-06-08T07:29:16+00:00Added an answer on June 8, 2026 at 7:29 am

    The second @interface directive is in the implementation file (.m) — you can infer from it that it’s meant for declaring stuff that the creator of the class didn’t want to expose to the user of the class. This usually means private and/or internal methods and properties. Also note that there are two types of doing this. The one (which you see here) is called a “class extension” and it’s denoted by an empty pair of parentheses:

    @interface MyClass ()
    

    This one is particularily important because you can use this to add additional instance variables to your class.

    The second one, called a “category”, is indicated by a non-empty pair of parentheses, enclosing the name of the category, like this:

    @interface MyClass (CategoryName)
    

    and it’s also used to extend the class. You can’t add instance variables to a class using categories, but you can have multiple categories for the same class, that’s the reason why it’s mainly used to extend system/framework classes for which you don’t have the source code — so a category, in this sense, is the exact opposite of the class extension.

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

Sidebar

Related Questions

I am wondering if there are any other approach to do something like this:
Wondering if there is any way to get the lambda expressions that result from
Wondering if there is a good way to generate temporary URLs that expire in
Wondering if there are any well informed Linux gurus here who can answer a
Wondering if there is any tool that can help me to detect a pronoun's
just wondering if there is a way to reduce the amount of code needed
Just wondering is there any way I can check whether the url links to
Just wondering if there is a Python MTA . I took a look at
Just wondering if there is any way to get the NS records in C#.
Just wondering if there's a website out there that allows you to hotlink to

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.