KVC に似た方法で、メッセージ名をキー自体として使用する方法はありますか? たとえば、ではなくvalueForKey:
、オブジェクトがすべてのメッセージに応答する方法はありますか?
たとえば、次の XML ドキュメントがあるとします。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ...>
<employees>
<employee>
<name>Bill</name>
<department>Accounting</department>
</employee>
<employee>
<name>John</name>
<department>Human Resources</department>
</employee>
</employees>
すでに利用可能な NSXMLDocument などを使用する以外に、ある種の抽象化を実装する方法があるので、次のことができます。
MyXML *xmlDoc = [[MyXML alloc] initWithContentsOfFile:@"test.xml"];
NSLog (@"%@", [[[xmlDoc employees] first] department]);
[[[xmlDoc employees] first] setDepartment:@"Management"];
例として XML を選択しましたが、これが可能かどうか、Objective-C ランタイムに近づきすぎているかどうか、ランタイム自体でサポートされているかどうか、どのようにすればよいかを知りたいです。このようなものを実装することについて。これは純粋に実験的な目的のためであり、かなりのパフォーマンス コストが発生する可能性があることを理解しています。
編集:
可能であれば、Cocoa などの既存のフレームワークを避けて、基本の Objective-C object を使用したいと思いますObject
。