mikeash / MAObjCRuntime

ObjC wrapper for ObjC runtime API
Other
1.53k stars 189 forks source link

Attribution for spawned project #10

Closed jagill closed 12 years ago

jagill commented 12 years ago

Thanks for this great work! The RTProperty class has seeded a library I've been using heavily in a project. This library been useful enough that I've been thinking about releasing it. The library consists of a few classes, one of which is based off of RTProperty (but has grown a bit since then). I'm currently planning on using an MIT license, but which license is not something I feel strongly about. Before I released it, I wanted to check with you:

  1. that this was ok with you,
  2. what sort of attribution you would want, if any,
  3. if you had any other comments.

Thanks again for your work! It's made the objc runtime libraries far more approachable.

James

mikeash commented 12 years ago

Fine by me! Attribution in the readme would be great, if the amount of code you've used warrants it, but anything which fulfills the terms of the license is ultimately fine by me (or else I wouldn't use that license!). No other comments, except that it's great to see someone building something based on the stuff I've made.

jagill commented 12 years ago

Thanks! If you want to take a look at it, you can find it at https://github.com/jagill/JAGPropertyConverter

mikeash commented 12 years ago

Neat idea. Reminds me a little of Google Protobuf, but operating at a somewhat higher level.

This statement in the readme confuses me a bit: "Since JAGPropertyConverter uses Key-Value coding to get/set values, it doesn't respect custom getters and setters" I thought KVC dealt fine with those. Have I misunderstood?

Anyway, cool stuff, and just the sort of thing I hoped to enable with my code.

jagill commented 12 years ago

My understanding of KVC (largely based on this doc ) is that when getting/setting a property named foo, they look for methods getFoo, foo, isFoo and setFoo:, respectively. I haven't delved into this too deeply, so if you know of a way that KVC can handle @property (assign, getter = checkIsActive, setter = makeActive:) BOOL active; I'd love to know about it!

jagill commented 12 years ago

Oh, I believe you meant custom-implemented setFoo: and foo methods. Yes, KVC should handle that -- I'll update the documentation. Thanks!

mikeash commented 12 years ago

Yep, that was my point of confusion. I don't know whether KVC can handle custom accessor names, wouldn't surprise me if it couldn't. That could lead to some "interesting" behavior if your backing ivar does match the pattern that KVC looks for.