2013-07-21 41 views
0

嗨,當我嘗試用這條線PHONENUMBER保存到coredata元素無法保存或正確撥打PHONENUMBER,過大的ios

  [newLead setValue:[NSNumber numberWithInteger:[self.cellTextField.text doubleValue] ] forKey:@"cell"]; 

然後我這個

[self.cellTextField setText:[[self.lead valueForKey:@"cell"] stringValue]]; 

加載它的作品,但如果號碼是905666777,這個數字太大,我得到2147483647

我如何使它使用905號碼?

還當我撥打使用

 NSURL *telUrl = [NSURL URLWithString:[@"tel://" stringByAppendingString:@"cell"]]; 
[[UIApplication sharedApplication] openURL:telUrl]; 

只撥打第3位214的號碼,我怎樣才能讓它在撥打所有的數字

謝謝

+0

第一行應爲'[newLead setValue:[NSNumber numberWithInteger:[self.cellTextField.text integerValue]] forKey:@「cell」];'用** integerValue **代替doubleValue – bachonk

+0

@bachonk是啊我抓到了並修復它,但仍 –

回答

3

的問題是,您將電話號碼保存爲數字值,因此您將遇到數字類型的限制。沒有理由這樣做 - 你應該使用一個字符串。例如,你永遠不會在電話號碼上做數學運算。使用數字類型比使用字符串更容易獲取任何數據(例如查找具有特定區域代碼的電話號碼)。

+1

同意。電話號碼不是簡單的數字,絕不應該這樣對待。國際號碼以'+'開頭,可能包含圓括號,許多電話號碼包含必須保留的前導零。 – Jim