日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IOS异常记录

發(fā)布時間:2024/9/30 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOS异常记录 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. ***?unrecognized selector sent to

1.*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UILabel labelWithType:]: unrecognized selector sent to instance 0xb5a3700'

*** First throw call stack:

? ? ? ?錯誤原因:該類沒有找到該方法,調(diào)用錯誤。

? ? ? 遇到的四種原因: ?

? ? ? ?<1>確認文件沒問題,方法存在。然后檢查編譯文件列表(bulid phases -> complie sources)里面有沒有該文件,如果該文件沒有被編譯,增加它。文件沒有被編譯,故該文件的方法都不能別識別。

? ? ? ?<2>unrecognized selector sent to class,特別注意下這里面的class,主要原因是類別調(diào)用錯誤的方法造成的(例如該變量獲取了一個obj,但是該obj本應(yīng)該是A類,實際上卻獲取了B類的值,故該obj肯定不能正確的響應(yīng)A類的方法)。打印調(diào)用方法的obj,查看該Obj的類名,然后查看該類是否存在該方法,如果不存在,實現(xiàn)它,或者刪除對該方法的調(diào)用。

? ? ? ? ? ? ? <2.1>對于代理調(diào)用回調(diào)方法可以這樣使用,防止出現(xiàn)這種崩潰.

? ? ? ? ? if?([delegate respondsToSelector:@selector(selector)])

? ? ? ? ? {

? ? ? ? ? ? ? [delegate selector];

? ? ? ? ? }

? ? ? ?<3>unrecognized selector sent to intance問題主要是臨時變量引起的。調(diào)用方法的臨時變量已經(jīng)在其他的地方被釋放,故此時調(diào)用它的方法或造成崩潰。檢查該變量在調(diào)用其實例方法時是否可能已經(jīng)被釋放了。

? ? ? ?<4>遇到一個數(shù)據(jù)庫實體調(diào)用它的實例方法時報這個錯誤的。

? ? ? ? ? ? ? 數(shù)據(jù)庫實體初始化完成之后,不能識別它的實例方法,只要調(diào)用就會崩潰。

? ? ? ? ? ? ?最終定位為數(shù)據(jù)庫中查看該表的屬性,發(fā)現(xiàn)表名稱是正確的,但是關(guān)聯(lián)的類名是NSManagedObject,而非正確的類名。所以,生成數(shù)據(jù)庫表相應(yīng)的實體類時,可以Editor->Created NSManagedObject Class...創(chuàng)建實體類,這樣就會自動把表和類進行關(guān)聯(lián)。如果手動創(chuàng)建的實體類是不會關(guān)聯(lián)的,需要手動關(guān)聯(lián),否則就會出現(xiàn)類似的錯誤。


2.Undefined symbols for architecture i386:
? ? ? ? 發(fā)生這種錯誤通常是project.pbxproj這個文件引起的,尤其在多人合作開發(fā)的時候,svn提交不規(guī)范可能導(dǎo)致project.pbxproj發(fā)生錯誤,導(dǎo)致文件的引用不在project.pbxproj文件中。
? ? ? ? ?xcode項目import文件會根據(jù)project.pbxproj來查找,查找不到文件的引用則會有上述的錯誤。
? ? ? ? ?解決方法點擊工程,在主界面中點擊Build Phases,根據(jù)提示信息“XXX”來判斷缺少什么文件,一般如果缺少自定義的文件,XXX會是缺少的類名,那么就在Complie Sources中加入該文件。如果缺少類庫,則在Link Binary With Libraries中加入該類庫。

? ? ? ? ?<1>在編譯RegexKitLite的時候,報錯類似錯誤。

? ? ? ? ?需要在在項目的編譯設(shè)置中找到Other Linker Flags,然后在后面字段空白處雙擊,添加“-licucore”就可以了,引用正則框架必須打開此開關(guān)。

? ? ? ? ?-licucore,注意不要打錯,打錯了會報錯誤:clang: error: no such file or directory: '-licucore'

總結(jié)

以上是生活随笔為你收集整理的IOS异常记录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。