• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Understanding the "declaration of instance variables in the interface is deprecated" warning.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Understanding the "declaration of instance variables in the interface is deprecated" warning.


  • Subject: Re: Understanding the "declaration of instance variables in the interface is deprecated" warning.
  • From: David Duncan <email@hidden>
  • Date: Wed, 03 Jun 2015 07:41:55 -0700

There are 3 ways to add ivars to a class. The traditional way:

@interface Foo {
	id _bar;
}

And 2 new ways:

@interface Foo() { // Class extension, note the ()
	id _baz;
}

@implementation Foo { // Implementation block.
	id _faz;
}

> On Jun 3, 2015, at 7:32 AM, Alex Zavatone <email@hidden> wrote:
>
> Maybe I should have included the text above it.
>
>  "It's also possible to use a class extension to add custom instance variables. These are declared inside braces in the class extension interface."
>
> So, I don't know how you see that it goes in the @implementation block since the code I pasted and the line above it say it goes in the @interface.
>
> Page 73 of
> https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/ProgrammingWithObjectiveC.pdf
>
> On Jun 3, 2015, at 10:22 AM, Mark Wright wrote:
>
>> That’s a ‘Class Extension’.  Furthermore, it’s under the title "Class Extensions Extend the Internal Implementation”.  It also mentions that it goes in the @implementation block…
>>
>>
>>
>>
>>> On 03 Jun 2015, at 15:11, Alex Zavatone <email@hidden> wrote:
>>>
>>> Apple's Programming with Objective-C reference document © 2014
>>>
>>> https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/ProgrammingWithObjectiveC.pdf
>>>
>>>
>>> Page 73
>>>
>>> @interface XYZPerson () {
>>>  id _someCustomInstanceVariable;
>>> }
>>> ...
>>> @end
>>>
>>> Uhhhhhh.
>>>
>>> Doesn't this violate Clang's own mention that "declaration of instance variables in the interface is deprecated" in Apple's own recommendations and documentation?
>>> _______________________________________________
>>>
>>> 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

--
David Duncan


_______________________________________________

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


  • Follow-Ups:
    • Re: Understanding the "declaration of instance variables in the interface is deprecated" warning.
      • From: Alex Zavatone <email@hidden>
References: 
 >Re: Looking at self = [super init]. (From: Dave <email@hidden>)
 >Re: Looking at self = [super init]. (From: Britt Durbrow <email@hidden>)
 >Re: Looking at self = [super init]. (From: Quincey Morris <email@hidden>)
 >Re: Looking at self = [super init]. (From: Charles Srstka <email@hidden>)
 >Re: Looking at self = [super init]. (From: Michael David Crawford <email@hidden>)
 >Re: Looking at self = [super init]. (From: Britt Durbrow <email@hidden>)
 >Re: Looking at self = [super init]. (From: Charles Srstka <email@hidden>)
 >Re: Looking at self = [super init]. (From: Alex Zavatone <email@hidden>)
 >Re: Looking at self = [super init]. (From: Alex Zavatone <email@hidden>)
 >Understanding the "declaration of instance variables in the interface is deprecated" warning. (From: Alex Zavatone <email@hidden>)
 >Re: Understanding the "declaration of instance variables in the interface is deprecated" warning. (From: Mark Wright <email@hidden>)
 >Re: Understanding the "declaration of instance variables in the interface is deprecated" warning. (From: Alex Zavatone <email@hidden>)

  • Prev by Date: Re: How to enable local storage in WebView using Swift
  • Next by Date: Re: How to enable local storage in WebView using Swift
  • Previous by thread: Re: Understanding the "declaration of instance variables in the interface is deprecated" warning.
  • Next by thread: Re: Understanding the "declaration of instance variables in the interface is deprecated" warning.
  • Index(es):
    • Date
    • Thread