• 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: Multiple declarations and the ID type
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Multiple declarations and the ID type


  • Subject: Re: Multiple declarations and the ID type
  • From: Jamie <email@hidden>
  • Date: Mon, 21 Jun 2004 19:02:14 +0100

Cool

Cast to the protocol? I didn't know you could do that. Is that really the only way this can be solved?

Jamie

On 21 Jun 2004, at 18:24, Alberto Ricart wrote:

Create a formal protocol and type your objects to conform to the protocol, and cast to that prior to calling the method. Essentially you never message to any method not in a protocol or type - this is kind of extra work, but will silence the compiler.


/a

On Jun 21, 2004, at 11:31 AM, Jamie wrote:

I am having an annoying problem with warnings being issued from the compiler when I am building my app.

I have an instance variable of type ID, that gets assigned different object types that it has to deal with. Each of these objects has a method

- (void) setName: (NSString *) theName;

The problem is that because I am dynamically typing, the compiler doesn't know whether to use that definition or one of another two it finds in the other headers that are included in my project, and I get a multiple declarations error.

I have trawled the archives but have found no viable solution to this issue for my case. The only fix I can think of at the moment is to change the variable and method names to something unique, but that seems like a copout. The two suggestions I have read are - to cast the variable as you send the message, but that is not possible since it could be one of three different classes, and the other is to statically type it - also not possible.

I tried creating a parent class so that it would just contain that method, and maybe a few other common ones, so that I could statically type the variable, but then i got the inverse of the problem: because not all subclasses responded to the same methods, I get "object may not respond to -selector". Basically it seems like catch 22. How can get rid of this error?

PS - I do understand why I get the mesages, i just don't see a way round it in my case. I thought the idea of dynamic typing was for situations such as this where you don't know what type your object will be - great, but not if it leaves you with loads of warnings and badly compiled code.

--
jkp

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGP 8.0.3

mQGiBEAvrCkRBADP0l+qGhYxe7VZe8NhHPvHKGfYEzMg/FpZxqRY179JI2EAPM4P
ojR8YuTmFDEPgz+4Ae4IUIJyhJBean5D/CFy3TpHYTUlK3eA1cH7PDNOW7oTGSmM
+zRkD1HnkaPVwylmNvI4RmceA0JuhCi9Y35Bkxa1yBLLB+uRC1Zf4+Ek/QCg/4Jh
161Ewn5UOV2eAmxFFRmyCLsD/jCeNrU4w5i/8YLoVFy3vZYhNsPL299vNc/PmF+h
+NPbbWAgay2UVnyc0lkbtOr+ZiEjgf0ltr3rDrjaF6faxwo8sDE5Tuh1yUUJ5Ngv
VLgyDLn9ChnOxiKYGZeI173JXYYhk3V8eU8qtIdH+IBQeHJjeWJg4dKRNqqDzlaI
r3GmA/9S11g+wKWYwKUNbPqRp29KuiRkINV34EXjAdK20kwb3misSt1x86xUHslq
Egys6T7Ulw1bAFKAWnm4pddv0khVx95reQlk/pIJZym26QSdXORPIjJatEgkQuHX
p5hWVsN4mwak7gKFw6VhJMZGXtT3V/WJgrUUE9AMcMJPQSYneLQsSmFtaWUgS2ly
a3BhdHJpY2sgPGprcEBraXJrY29uc3VsdGluZy5jby51az6JAFcEEBECABcFAkAv
rCkHCwkIBwMCCgIZAQUbAwAAAAAKCRDhFdzdKJk0z8bWAKCbTJ/gTWEpBE4+6uwW
Dn+mGLNi1gCgtQE1xpBMxTY3wjFM7SCT4vUlwGa5Ag0EQC+sKRAIAPZCV7cIfwgX
cqK61qlC8wXo+VMROU+28W65Szgg2gGnVqMU6Y9AVfPQB8bLQ6mUrfdMZIZJ+AyD
vWXpF9Sh01D49Vlf3HZSTz09jdvOmeFXklnN/biudE/F/Ha8g8VHMGHOfMlm/xX5
u/2RXscBqtNbno2gpXI61Brwv0YAWCvl9Ij9WE5J280gtJ3kkQc2azNsOA1FHQ98
iLMcfFstjvbzySPAQ/ClWxiNjrtVjLhdONM0/XwXV0OjHRhs3jMhLLUq/zzhsSlA
GBGNfISnCnLWhsQDGcgHKXrKlQzZlp+r0ApQmwJG0wg9ZqRdQZ+cfL2JSyIZJrqr
ol7DVekyCzsAAgIH/0aGygku5RCrzJUp3lXlPuvc7BvmwRP0RRO9ktbP4abEZXYp
UcUeRbBcU6E3AukBHf5hgmTcNDNAyQeZA75XZhJTQoAkEM9oVUkV66+KoF307hrG
4dNOlFSBYHe/hiT/khmOlXIfB+SvDWYSjsIrP+JU/F1nxrcAqru5xeUh6Y+qIt4b
JPYNYxwf3+OeaRhQFneN+7oxBgSEl74qHmT79jQKqfllZshrs01PpB1UvG77Rn/I
zadbj29gIFw1Gt2eh5aRIN0F2QxvqeMvZ6APqjutv4i+tm1L3U8JNW8fsCpCKkI6
h6MBJSaW6GWTtCBGA/5IX35cg5HlpbwZw96Y892JAEwEGBECAAwFAkAvrCkFGwwA
AAAACgkQ4RXc3SiZNM/0VACeORa/zYtGyekOwxUXzW5BQqdlsjIAoPhHLTE5Kwcq
2WgOOCUuqD0QoU8e
=/4Ed
-----END PGP PUBLIC KEY BLOCK-----
_______________________________________________
MacOSX-dev mailing list
email@hidden
http://www.omnigroup.com/mailman/listinfo/macosx-dev
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.


  • Follow-Ups:
    • Re: Multiple declarations and the ID type
      • From: Sherm Pendley <email@hidden>
References: 
 >Multiple declarations and the ID type (From: Jamie <email@hidden>)

  • Prev by Date: Re: NSTextView woes
  • Next by Date: Re: CFStream and Cocoa stream
  • Previous by thread: Multiple declarations and the ID type
  • Next by thread: Re: Multiple declarations and the ID type
  • Index(es):
    • Date
    • Thread