2010-09-15 53 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