首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIAlertView事件

UIAlertView事件
EN

Stack Overflow用户
提问于 2013-06-17 23:45:15
回答 1查看 855关注 0票数 0

我正在尝试编写一个简单的消息警报系统,当从服务器收集优先级消息时,它会显示一个UIAlertView。消息以制表符分隔的字符串形式发送,格式如下:

代码语言:javascript
复制
Priority:TRUE\tTrackingID:MESSAGEID\tFrom:FROMUSERNAME\tFromID:FROMID\tSentTime:SENTTIME\tMessage:text

消息在表视图中显示为列表。单击单元格将显示包含消息内容的详细信息视图。如果消息被标记为优先级,则应出现警报,在取消时将用户直接引导至该消息的详细视图。

我处理每个字符串的代码是:

代码语言:javascript
复制
NSArray *msgArray = [messageString componentsSeparatedByString:@"\t"];
[self storeMessageData:msgArray];

然后:

代码语言:javascript
复制
- (void) storeMessageData: (NSArray *)messagesArray
{    
    if ([messagesArray[0] isEqualToString:@"Priority:True"])
    {
        [self alertWithMessage:@"priority"];
    }
}

和:

代码语言:javascript
复制
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{    
    if (buttonIndex == 0)
    {
        [self performSegueWithIdentifier:@"showPriority" sender:self];
    }
}

如果仅检索到一条消息,则此方法工作正常,但如果有两条或更多条消息,则消除警报仍会执行分段,但随后警报会立即再次弹出,紧随其后的是另一条分段,次数与消息的次数相同。

我想知道的是,我将如何中断此过程,以便用户能够处理第一个消息,如果有多个消息,则在返回到上一个视图时会显示另一个警告。任何想法都很感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-18 00:06:49

在循环时,不要遍历所有消息并调用为每个消息显示警报的方法,这会导致向用户显示多个警报,而是将所有“优先级”消息添加到一个数组中。然后,检查数组中的警报数量,您可以显示一个反映此信息的警报:例如,对于一条消息,您可以显示该消息的标题和一些其他信息,如标题和alertView的消息,而当您有多条消息时,您可能会有一个类似于“您有x条具有高优先级的新消息”的标题,其中x是消息的数量和一些其他描述。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17151604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档