首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将NSTimeInterval值存储到NSMutableArray中?

如何将NSTimeInterval值存储到NSMutableArray中?
EN

Stack Overflow用户
提问于 2012-04-09 23:05:07
回答 3查看 3.1K关注 0票数 5

我有一个要求,我有一个使用MPMediaPlayerController播放的视频。除了视频,我还有两个按钮,当按钮被点击时,我需要捕获当前的回放时间,并单独存储所有相关的点击。我可以使用返回NSTimeInterval的"currentPlaybackTime“属性获取视频的当前播放时间。但是有没有人能帮我把所有的NSTimeInterval值存储到NSMutableDictionary中呢?我尝试了以下几种方法:

代码语言:javascript
复制
-(void)onClickOfGood {
    NSLog(@"The current playback time in good:%g",moviePlayerController.currentPlaybackTime);
    currentPlaybackTime = moviePlayerController.currentPlaybackTime;
    //NSArray *arrayContainsGoodClicks = [[NSArray alloc]initWithObjects:currentPlaybackTime, nil ];
    NSNumber *goodTimeIntervals = [NSNumber numberWithDouble:currentPlaybackTime];
    NSMutableArray *arrayContainsGoodClicks = [[NSMutableArray alloc]initWithObjects:goodTimeIntervals,nil ];
    NSLog(@"The total count of Array is: %i",[arrayContainsGoodClicks count]);}

但是每次点击“好”按钮后,我得到的数组数只有1。有人能指出我哪里出错了吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-09 23:11:00

,但每次点击good按钮后,我得到的数组计数只有1。

考虑到您在前一行上创建了一个全新的NSMutableArray,这并不奇怪。

要解决这个问题,您需要将NSMutableArray *arrayContainsGoodClicks设置为实例变量(AKA ivar),在指定的初始化器中将其初始化为[NSMutableArray array],然后使用

代码语言:javascript
复制
[arrayContainsGoodClicks addObject:goodTimeIntervals];

将对象添加到数组中。

如果您希望改用NSMutableDictionary,那么策略将是相同的,除非您需要决定要用作NSDictionary的唯一键的对象。还要记住,NSMutableDictionary是不排序的,所以每次向用户显示字典条目时,您可能都需要注意排序。

票数 3
EN

Stack Overflow用户

发布于 2012-04-09 23:11:53

您只需创建一次arrayContainsGoodClicks (例如,在init方法中),然后在按钮处理程序中向此数组添加值:

代码语言:javascript
复制
//.h
NSMutableArray *arrayContainsGoodClicks;

//.m - init
arrayContainsGoodClicks = [NSMutableArray array];

//.m - button handler
[arrayContainsGoodClicks addObject:goodTimeIntervals];
票数 1
EN

Stack Overflow用户

发布于 2012-04-09 23:19:42

您需要创建数组并将其存储为ivar。

代码语言:javascript
复制
@property (retain, nonatomic) NSMutableArray *clicksArray;
...
@synthesize clicksArray;

现在,在您的-init方法中创建数组,如..

代码语言:javascript
复制
self.clicksArray = [NSMutableArray array];

并每次将对象添加到数组中,这样您的-onClickOfGood就会变成如下所示:

代码语言:javascript
复制
...
[self.clicksArray addObject: goodTimeIntervals];
NSLog(@"The total count of Array is: %i",[self.clicksArray count]);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10075218

复制
相关文章

相似问题

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