Tag: Objective C

如何在uitableview中显示从avplayer播放的ipodLibrary中选择的歌曲

我正在使用AVPlayer播放歌曲。 我也可以在后台播放它。 有一个名为showPlaylist的UIButton 。 当我点击它时,我需要显示我在UITableView从ipodLibrary中选择的歌曲列表,我应该能够显示艺术作品,歌曲中剩余的分钟数以及歌曲中可用的艺术家姓名。 我有播放和暂停按钮:当我点击暂停按钮时,歌曲暂停,但当我再次点击播放按钮时,它会转到ipodLibrary。 点击播放按钮时如何恢复播放? 当UITableView中有多首歌曲时,我希望它在第一首曲目完成后立即继续播放到下一首曲目。 我想知道该怎么做。 -(IBAction)playButtonPressed:(UIButton *)sender { // Create picker view MPMediaPickerController* picker = [[MPMediaPickerController alloc] init]; picker.delegate = self; if (userMediaItemCollection) { MusicTableViewController *controller = [[MusicTableViewController alloc] initWithNibName: @”MusicTableView” bundle: nil]; controller.delegate = self; controller.modalTransitionStyle = UIModalTransitionStyleCoverVertical; [self presentModalViewController: controller animated: YES]; } else { MPMediaPickerController *picker = [[MPMediaPickerController […]

如果我的服务器失败并且无法提供内容,如何取消应用程序内购买? (IOS)

我正在iOS上的应用程序购买中实现,我的服务器将在用户购买项目时提供对某些内容的访问。 我已经完成了所有工作,包括让服务器在提供对内容的访问权限之前validation购买的收据。 但是,如果由于某种原因,应用程序无法向我的服务器注册交易(例如,由于服务器中断),我想取消该交易,以便iTunes不向用户收费。 这可能吗? 为了进一步详细说明,应用程序在用户点击“购买”后,从paymentQueue:updatedTransactionsfunction中联系我的服务器。 目前,我打电话给: [_myQueue finishTransaction:transaction]; 联系我的服务器后。 但是,如果联系服务器时出错,是否有一个函数我可以调用取消事务而不是完成它? 我从这里看到有些人只是不调用finishTransaction ,以便下次用户启动应用程序并添加事务观察器时事务恢复(因此应用程序可以尝试再次联系服务器)但是,这是不太理想,因为用户在重新启动应用程序并且服务器再次可用之前将无法访问内容,但用户已经付费了。 谢谢!

在Objective-C中使用Mime编码 – 单词解析

OS X或iOS是否提供了解析MIME编码字的API? 这些可爱的琴弦: =?iso-8859-1?Q?=A1Hola,_se=F1or!?= 或者,是否有一个已知的开源库来执行此操作?

创建下拉列表

我想从头开始制作一个下拉列表。 谁能告诉我怎么做?

用于UITableViewCell的backgroundView的初始帧

我目前正在使用self.frame初始化我的UITableViewCell的backgroundView框架。 这似乎适用于设备方向更改(单元格背景填充整个单元格,看起来很好等)。 什么是更好的框架使用(如果有的话)? 编辑#1 :我还用CGRectZero初始化了backgroundView作为框架。 这似乎没有区别(UITableViewCells和backgroundViewsfunction在所有界面方向都很好)。 我还测试了设置autoresizingMask属性。 这没有任何区别。 我只想了解backgroundViews初始帧会影响什么(如果有的话)。

clang:错误:-Z-reserved-lib-stdc ++:在更新到xCode 4.4之后’-c’出现时,’链接器’输入未使用

我刚刚将xcode更新为4.4版本,我目前正在处理的项目抱怨: clang: error: -Z-reserved-lib-stdc++: ‘linker’ input unused when ‘-c’ is present 命令/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang失败,退出代码为1 您是否知道我应该检查什么才能解决这个问题?

如何将其他视图控制器推送到NavigationController但保留TabBar?

我的应用程序以导航控制器根目录下的基本视图控制器开头 – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.navController.viewControllers = [NSArray arrayWithObject:[self getHomeViewController]]; [[self getWindow] addSubview:self.navController.view]; [[self getWindow] makeKeyAndVisible]; return YES; } 选择导航项后,我推一个带有几个视图控制器的标签栏控制器。 -(void)launchOptionWithTabBarController:(NSUInteger)selectedIndex { self.tabBarController.viewControllers = [NSArray arrayWithObjects: [self getFirstViewController], [self getSecondViewController], nil]; [self.tabBarController setSelectedIndex:selectedIndex]; [self.navController pushViewController:self.tabBarController animated:YES]; } 问题是我现在需要在标签栏控制器中打开一个视图控制器的顶部添加另一个视图控制器…当我按下这样一个导航控制器时… – (void)launchNewViewControllerWithArray:(NSArray *)stuff { self.newViewController = [self getNewViewController]; [self.navController pushViewController:self.newViewController animated:YES]; } 我不再看到标签栏导航(我更愿意看到这个导航带/我推送的每个项目)。 如何修改我的控制流程以使标签栏导航项保持在底部?

iOS计时器外部应用

我正在尝试制作我的第一个应用程序,它的进展非常顺利。 我知道很多编程语言,但是我遇到了一个问题。 我试图限制用户每小时最多执行一次操作。 我一直在努力做一个计时器。 我还涉足了一些服务器端代码来帮助我,但是我似乎无法使它工作。 我想知道是否有人有任何可以帮助我的答案?

使用NSCoding编码对象或仅将数据写入文件的优点和缺点

我很好奇使用NSCoding在目标c中编码对象并将它们写入磁盘的优点可能只是简单地将持久性对象写入磁盘。 在I / O或磁盘空间使用方面是否有性能提升?

lldb错误:使用未声明的标识符

任何人都知道这里发生了什么: @implementation Test { NSData *_data; } – (id)initWithData:(NSData *)data { self = [super init]; if (self) { _data = data; } return self; // BREAKPOINT HERE } 来自lldb: (lldb) p data (NSData *) $1 = 0x07f911e0 30308 bytes (lldb) p _data error: use of undeclared identifier ‘_data’ error: 1 errors parsing expression 为什么我不能查看_data ?