簡體   English   中英

如何在Xcode 4.3.1中使用RegexKitLite?

[英]How to use RegexKitLite in Xcode 4.3.1?

我無法使用RegexKitLite來匹配字符串

NSString *encodedPoints=[apiResponse stringByMatching: @"\\\"([^\\\"]*)\\\"^[^:]*" 
                                              capture: 0];

和apiResponse是:

@"http://maps.google.com/maps?output=dragdir&saddr=20.001364,73.749283&daddr=19.991499,73.744095"

所以,通過這種方式,我得到以下錯誤:

__NSCFString stringByMatching:capture:]:無法識別的選擇器發送到實例0x131fc0

*由於未捕獲的異常'NSInvalidArgumentException'終止應用程序,原因:' - [__ NSCFString stringByMatching:capture:]:無法識別的選擇器發送到實例0x131fc0'*第一次拋出調用堆棧:(0x3422b8bf 0x3447b1e5 0x3422eacb 0x3422d945 0x34188680 0xb97b 0xad2f 0xaa2d 0xa617 0x34185435 0x375ef9eb 0x376b53cf 0x34185435 0x375ef9eb 0x375ef9a7 0x375ef985 0x375ef6f5 0x375f002d 0x375ee50f 0x375edf01 0x375d44ed 0x375d3d2d 0x30a06df3 0x341ff553 0x341ff4f5 0x341fe343 0x341814dd 0x341813a5 0x30a05fcd 0x37602743 0x4571 0x2838)

我試圖通過谷歌搜索找到解決方案,但沒有得到確切的解決方案。

請幫忙...

確保項目中包含正確的庫。

轉到Project Navigator並選擇項目。

單擊Target並選擇Build Phases選項卡,然后打開Link Binary With Libraries。

按+按鈕,然后搜索libicucore.A.dylib。 將此庫添加到項目中。

接下來,您將需要添加編譯源,它位於Link Binary With Libraries上方的Compile Sources中。 再次點擊+按鈕並將RegexKitLite.m添加到目標。 如果您嘗試在此狀態下構建項目,則應在RegexKitLite.m文件中收到大量錯誤。 要更正此問題,請通過雙擊“編譯源”區域中的RegexKitLite.m文件,然后在顯示的彈出窗口中包含-fno-objc-arc,將以下編譯器標志添加到文件中。 完成后,您將有希望將庫源添加到您的項目中。

就像注釋一樣, -fno-objc-arc在編譯源文件時刪除自動引用計數 文件在沒有編譯器標志的情況下得到的錯誤與ARC有關,因此它解決了這個問題。

這在使用RegexKitLite時解決了我的問題,所以希望它適合你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM