最近在一個oc于Swift混編的項目中,oc的類需要用到Swift類中的成員屬性,比如oc的控制器需要訪問使用Swift編寫的模型類的成員屬性,但是無論如何都調(diào)用不到(Xcode不進(jìn)行只能提示,強寫之后編譯報錯不通過)!
嘗試了各種方法來修飾Swift類的成員屬性,盡腦汁,終無果,遂棄之。
然鵝,這樣一個問題解決不了,難道要讓寡人將模型類用oc重新編寫?
既然百思不得姐,就先放著吧,于是繼續(xù)編寫其它代碼。
就在寫到給button添加點擊事件的時候,使用Selector包裝的方法需要使用 @objc 修飾,忽然靈機一動,是不是Swift類的成員屬性使用 @objc 修飾之后 oc 對象就能正常調(diào)用了呢?
有此想法之后忽又聯(lián)想到在 Swift4.0 之后,Swift運行時獲取一個類的成員屬性列表時,成員屬性也要用 @objc 修飾。這似乎離答案又近了一步,我想很可能 成員屬性 使用 @objc 修飾之后在 oc 對象中就能正常調(diào)用了,于是迫不及待加上 @objc ,果然,idea 得到證實,正是如此!于是愉快地完成了模型任務(wù)~~
其實,現(xiàn)實生活中或者回想高中解題的時候也或多或少遇到過此類情況,有些問題當(dāng)時百思不得其解,那么暫且放過,繼續(xù)之后正常的活動或者生活,也許會在某個時刻恍然大悟,之前絞盡腦汁得不到答案的事情忽然就融匯貫通了。
自然界萬事萬物相互作用相互聯(lián)系,真是玄妙至極!
額,上升到哲學(xué)高度了。
好了,回到本文主題,歡迎朋友們將自己遇到的這樣的小問題分享出來大家相互討論,共同進(jìn)步!