2010-09-15 24 views
0

IM做一個iPhone應用程序中,當同一人叫你和u不接電話,然後在同一個用戶呼叫u的聲音將被播放超過4倍,現在當一個呼叫到來我將它的callid存儲在一個字符串或其他任何東西,但我的問題是我找不到邏輯來檢查同一個用戶已經調用了四次或更多?無法獲得簡單的程序邏輯

回答

0

對於沒有API,對不起。

+0

我想我問編程邏輯沒有API,它如何知道同樣的事情來了四次或更多例如,如果我儲存的呼叫ID在陣列thaen如何找到相應的電話來了五倍以上 – 2010-09-15 05:22:51

+0

如果你想要做的事情是不可能的,那麼你的問題並沒有真正的答案。例如,如果有一個API,你可能可以從中得到一個計數,而不是存儲你自己的數組。但既然沒有API,你的問題就無法專門回答。如果你有一個關於以任意字符串的方式存儲任意字符串的通用目標C問題,那麼你應該這樣問。此外,未來儘量不要試圖節省您的時間。 – 2010-09-15 05:39:38

+0

ios 4有方法,讓你獲得通話ID和通話狀態(傳入,連接,斷開) – 2010-09-15 05:42:28

1

使用一個NSDictionary(哈希數據庫的形式)。如果當前的調用者名稱不存在作爲鍵,請添加它,並將該值設置爲計數1.如果調用者名稱作爲字典中的鍵存在,請將計數值遞增1.然後,讀取計數值和任何你想要根據對4

的比較,但獲得的來電者的名字,可能需要某種形式的非股票OS在iPhone上的事。

+0

忘記iPhone它可以是任何語言,例如,即時通訊在數組中存儲隨機數然後如何知道相同的數字來了4次或更 – 2010-09-15 05:35:19

1

嗯。

遍歷接收到的呼叫的陣列。

代替存儲所述主叫號碼在一個字符串的,它存儲在數組中稱爲receievedCalls。

在每個來電呼叫,遍歷陣列(foreach循環?),尋找當前呼叫方的來電顯示。

foreach (receivedCalls as $key => $value) { 
    if ($value == $callerId) { 
      count++; 
    } 
    if (count >= 4) { 
      (play sound) 
    } 
} 

可能有缺陷的邏輯,但是meh。再次,我以前沒有使用iPhone應用程序,所以我不知道它使用什麼樣的語言。

+0

它可以爲例如,任何語言,如果IM陣列soring隨機數那麼如何知道同樣的數量來4次 – 2010-09-15 05:33:53

+0

在我寫會識數已經調用四次的代碼,因爲它存儲的來電顯示中單獨的數組鍵。例如。如果某人的callerID 123456連續調用了三次,則數組看起來像:receivedCalls [0] = 123456; receivedCalls [1] = 123456; receivedCalls [2] = 123456;在foreach循環中查看所有這些,並且當它找到與當前正在調用的callerId相同的callerId時,它將變量計數加1。如果count大於或等於4,則聲音播放。 (計數++意味着加1計數) – Zomxilla 2010-09-15 05:43:16

+0

好吧好吧igot它謝謝 – 2010-09-15 05:49:16