Tag: objective c

如何以编程方式在UINavigationController中按“返回”button

我有一个名为FriendsViewController UINavigationController内的UIViewController 。 第二个叫做FriendsDetailedViewController UIViewController 。 从第一个视图控制器导航到第二个时,我想以编程方式在需要时按下“ Backbutton。 这个怎么做?

AdMob与:无法识别的select器崩溃

我已经安装了AdMob SDK 6.2.0(Xcode 4.5(4G182),我正在iPhone 4S和模拟器上testing)。 我遵循教程,只想让AdMob展示一次横幅。 但最后一行崩溃了: self.bannerView = [[GADBannerView alloc] initWithFrame:CGRectMake(0.0, self.view.frame.size.height – GAD_SIZE_320x50.height, GAD_SIZE_320x50.width, GAD_SIZE_320x50.height)]; self.bannerView.delegate = self; self.bannerView.adUnitID = @"xREMOVEDBYMEx"; self.bannerView.rootViewController = self; [self.view addSubview:self.bannerView]; GADRequest * request = [GADRequest request]; request.testing = YES; [self.bannerView loadRequest:request]; 崩溃是 2012-09-28 09:03:58.268 NewProject [1467:c07] – [GADObjectPrivate changeState:]:无法识别的select器发送到实例0x95c17d0 2012-09-28 09:03:58.276 NewProject [1467:c07]未捕获exception'NSInvalidArgumentException',原因:' – [GADObjectPrivate changeState:]:无法识别的select器发送到实例0x95c17d0' 这看起来像在图书馆给我的错误,但我认为这是不太可能的。 […]

在两行后面执行之间添加延迟

我需要在(相同)函数中执行两行之间添加延迟。 是否有任何有利的select来做到这一点? 注意:我不需要两个不同的函数来执行这个操作,而延迟不会影响其他函数的执行。 例如: line 1: [executing first operation]; line 2: Delay /* I need to introduce delay here */ line 3: [executing second operation]; 任何帮助是可观的。 提前致谢…

AVAudioPlayer不能播放任何声音

我正在开发一个需要使用AVFoundation框架播放声音的iOS应用程序。 Xcode 4中的工作区结构包含两个项目: 工作区 应用程序本身(主要项目) 一个实用程序库 在构build实用程序库之后,会产生一个静态库,在主应用程序中用作框架。 所以,当试图通过使用下面的代码在主应用程序中播放声音时,它按预期工作。 NSString *resourcePath = [[NSBundle mainBundle] resourcePath]; NSString *path = [NSString stringWithFormat:@"%@/sound.mp3", resourcePath]; NSURL *url = [NSURL fileURLWithPath:path]; NSError *error = nil; AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error]; [audioPlayer play]; 相反,当试图使用与上面相同的代码在实用程序库内播放完全相同的声音(或任何其他声音)时,即使错误为零 ,并且audioPlayer属性值是正确的(数字频道,持续时间)。 我已经确定AVFoundation框架在两个项目中。 另外,我的类使用AVAudioPlayerDelegate协议并实现了这两个方法: – (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag; – (void)audioPlayerDecodeErrorDidOccur:(AVAudioPlayer *)player error:(NSError *)error; 尝试播放声音后,不会调用这些方法。 如果我使用AudioToolbox框架,那么它会播放声音。 但是我有兴趣使用AVFoundation有几个原因。 任何想法是怎么回事? […]

主队列上的dispatch_sync与dispatch_async

忍受着我,这是要解释一下。 我有一个如下所示的函数。 上下文:“aProject”是一个名为LPProject的核心数据实体,其中包含名为“memberFiles”的数组,其中包含另一个名为LPFile的Core Data实体的实例。 每个LPFile代表磁盘上的一个文件,我们想要做的就是打开这些文件并parsing它的文本,寻找指向OTHER文件的@import语句。 如果我们find@import语句,我们希望find它们指向的文件,然后通过向表示第一个文件的核心数据实体添加一个关系来将该文件“链接”到这个文件。 由于所有这些都可能需要一些时间在大文件上,我们将使用GCD从主线程执行。 – (void) establishImportLinksForFilesInProject:(LPProject *)aProject { dispatch_queue_t taskQ = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); for (LPFile *fileToCheck in aProject.memberFiles) { if (//Some condition is met) { dispatch_async(taskQ, ^{ // Here, we do the scanning for @import statements. // When we find a valid one, we put the whole path to the imported […]

cocoa的dependency injection框架?

Interface Builder可以用于Cocoa应用程序中的基本dependency injection,但是当不想在NIB文件中实例化对象时,任何人都可以意识到Objective-C / Cocoa的更完整的dependency injection框架? 编辑 为了澄清,我认识到IB可以用于基本的DI,但我正在寻找一个更完整的function框架,包括单独的生产和testingconfiguration,沿着Groovy或弹簧线。

extern关键字是什么意思?

extern关键字是什么意思? 我在类似的函数声明前看到过 extern void DoFoo …

轻扫删除单元格导致tableViewHeader与单元格移动

我在iOS 8的UITableView上遇到了一个奇怪的bug。当在单元格上滑动以显示删除button(标准的iOS swipe-to-delete)时,它会移动tableViewHeader以及正在被滑动的单元格。 当我滑动单元格时,标题的移动方式与正在滑动的单元格相同。 表格视图中没有其他单元格被移动,只有标题和任何单元格被移动。 我已经testing了这个在iOS 7上没有遇到的问题。 对我来说,这似乎是tableViewHeader中的tableViewHeader一个bug,因为它只发生在这个版本,似乎永远不会发生。 我看不出有什么理由将头部包含在滑动删除中。 下面只是一个模型。 在应用程序中的滑动删除是默认的iOS,没有任何习惯。

Swift:自定义ViewController初始值设定项

你如何添加自定义初始化器到Swift中的UIViewController子类? 我创build了一个UIViewController的子类,如下所示: class MyViewController : UIViewController { init(leftVC:UIViewController, rightVC:UIViewController, gap:Int) { self.leftVC = leftVC; self.rightVC = rightVC; self.gap = gap; super.init(); setupScrollView(); setupViewControllers(); } } 当我运行它时,我得到一个致命的错误: 致命错误:对类“MyApp.MyViewController”使用未实现的初始化程序'init(nibName:bundle :)' 我读过的地方,当添加一个自定义的初始化,还必须重写init(coder aDecoder:NSCoder)所以让我们重写该init ,看看会发生什么: override init(coder aDecoder: NSCoder) { super.init(coder: aDecoder); } 如果我添加这个,Xcode抱怨self.leftVC is not initialized at super.init call 。 所以我想这也不是解决scheme。 所以我想知道如何将自定义初始化器正确地添加到Swift中的ViewController子类(因为在Objective-C中,这似乎不成问题)?

原型细胞在笔尖而不是故事板

为了更好的重用性,我想在Storyboard外创build一个表视图。 现在,当我在Xcode中使用Nib创build基于UITableView的ViewController时,我得到了nib文件中的默认TableView。 但是,我无法在Interface Builder中添加原型单元格,例如我在Storyboard中。 现在是不是可以在一个笔尖添加原型单元,或者我错过了一些东西。 非常感谢您的帮助。