【发布时间】:2015-03-14 13:30:49
【问题描述】:
将目标 C robbiehanson/XMPPFramework 导入 swift 项目后(设置构建设置、桥接头等)。我可以在导入的类中调用普通方法并直接设置属性。
但是,某些设置属性的实例方法会立即导致错误,就好像它们在我调用它们的实例中不存在一样。例如:
- (void)setMyJID:(XMPPJID *)newMyJID
{
[self setMyJID_setByClient:newMyJID];
}
甚至是实际进行设置的setMyJID_setByClient:newMyJID 方法。
在我看过的两个单独的目标 c 示例项目中,setMyJID 方法是从其他类调用的。但是,虽然我可以调用类上的其他实例方法,但我不能调用这个。由于我对objective c不是很熟悉,我认为这可能是因为它没有在头文件中声明,导致一些swift特定的问题,但尝试为其添加声明并没有帮助。
我可以直接设置相关属性,但这不仅是不可取的,我也想了解为什么我不能调用某些方法。
我正在尝试像这样对 XMPPStream 类的实例进行调用
//This shows immediate error: XMPPStream does not have a member named 'setMyJID'
stream.setMyJID(XMPPJID.jidWithString(someXMPPAddress)
// This works perfectly
stream.myJID = (XMPPJID.jidWithString(someXMPPAddress))
任何帮助将不胜感激。
【问题讨论】:
标签: objective-c swift compiler-errors getter-setter