我定义了一个 objective-c 协议,其中声明了一个带有 IBAction 标记的方法。我实现了一个继承该协议的 UIViewController。
在 Interface Builder 中,我创建了一个 nib 文件,并将 UIViewController 设置为文件的 owner。然而,在“接收到的操作”部分中,该协议方法并不可见,尽管它已被标记为 IBAction。
我认为协议方法在 Interface Builder 中是不可见的。这是正确的吗?谢谢。
我定义了一个 objective-c 协议,其中声明了一个带有 IBAction 标记的方法。我实现了一个继承该协议的 UIViewController。
在 Interface Builder 中,我创建了一个 nib 文件,并将 UIViewController 设置为文件的 owner。然而,在“接收到的操作”部分中,该协议方法并不可见,尽管它已被标记为 IBAction。
我认为协议方法在 Interface Builder 中是不可见的。这是正确的吗?谢谢。
IBAction
仅仅是一个#define
语句;当你实现一个协议时,这个标签不会被继承。
你需要在你的类中显式地标记已实现的方法为IBAction
,这样接口构建器在解析头文件时才能够识别它们。