我正在開發一個HTML5展示應用程序,我需要去發現我的雨燕協議中的所有方法。所有協議都從基礎協議擴展而來。斯威夫特發現協議方法
應用程序是一個展示HTML5測試這種方法。該應用程序調用該方法並給出響應。
我發現了大約一個特定協議的一些信息,但我需要找到所有在我的應用程序的協議,然後所有的信息(名稱,參數名稱參數類型和返回值)這個方法。
@objc protocol Protocol {
func method1()
func method2() -> Bool
func method3(param1:Int) -> Bool
func method4(param1:Int, param2:Int, param3:Int) -> Bool
}
var numMethods:UInt32 = 0
var methods:UnsafeMutablePointer<objc_method_description> = protocol_copyMethodDescriptionList(Protocol.self, true, true, &numMethods)
for var iuint:CUnsignedInt = 0; iuint < numMethods; iuint++ {
var i:Int = Int(iuint)
var method:objc_method_description = methods[i]
println("Method #\(i): \(method.name)")
}
我使用的Objective-C運行時參考
任何想法如何做到這一點的迅速?
感謝您的文檔。我以前閱讀過所有這些帖子。但在這一個http://stackoverflow.com/a/24072677/2248121說,這是使用的Objective-C運行時參考的方法可能的查詢,這是exaclly我在做什麼。我在問一個人是否有完整的例子來獲取方法的所有信息。 – ikocel1 2014-10-09 11:44:26