適配iOS7無 [__NSCFString containsString:]:


看到這個錯的時候 一般就是iOS系統(tǒng)不兼容的原因

我現(xiàn)在基本沒有考慮iOS7的兼容,但有時候又偏偏有iOS7的機子,很無奈又要做適配

我最初寫的代碼是這樣的:

if ([self.UserNameTF.text containsString:@"*"])

{

GFBLog(@"還有*號 不轉換");

}

else

{

if ([self.UserNameTF.text containsString:@"*"] && [UITextField numberToNormalNumTextField:UserNameTF].length == 11)

{

GFBLog(@"還有*號 不轉換");

}

else

{

self.userNumber = [UITextField numberToNormalNumTextField:self.UserNameTF];

}

}

iOS7的機子上運行直接奔潰了:找了一會沒有發(fā)現(xiàn)什么問題,起初我以為是 UITextField的代理方法有問題,我一個個代理方法注釋了 最后發(fā)現(xiàn)問題所在。

重點就是 containsString 你看API的時候就會發(fā)現(xiàn) 這個方法是iOS8出來的,找到問題所在 就好解決了。

解決方法就是找一個iOS7使用的方法替換iOS8的這個 containsString 方法

解決方法:

NSRange range = [self.UserNameTF.text rangeOfString:@"*"];

if(range.location != NSNotFound)

{

// 存在

GFBLog(@"還有*號 不轉換");

}

else

{

// 不存在

NSRange range1 = [self.UserNameTF.text rangeOfString:@"*"];

if (range1.location != NSNotFound && [UITextField numberToNormalNumTextField:UserNameTF].length == 11)

{

// 存在

GFBLog(@"還有*號 不轉換");

}

else

{

// 不存在

self.userNumber = [UITextField numberToNormalNumTextField:self.UserNameTF];

}

}

就解決了····

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 怪物背景: 事發(fā)當天我正戴著耳機悠閑的聽著普通DISCO,有節(jié)奏的敲著代碼。忽然,旁邊辦公桌發(fā)出一聲巨響~ 帶著幾...
    嘞似彩筆閱讀 920評論 2 1
  • 1、改變 UITextField 占位文字 顏色和去掉底部白框 [_userName setValue:[UICo...
    i_MT閱讀 1,059評論 0 2
  • 1、設置UILabel行間距 NSMutableAttributedString* attrString = [[...
    十年一品溫如言1008閱讀 1,714評論 0 3
  • 我用各科全過的高密度包裝袋將大一第一學期進行了真空包裝,丟擲在了2011.09.10~2012.01.03的區(qū)...
    石五閱讀 414評論 5 2
  • 也不知道還能看再幾場這樣的籃球賽,但這一場,我永遠都不會忘記。 我想,在我們的青春里,一定都有這些片段:老師拖堂遲...
    lJinxl閱讀 904評論 1 4