小编Lor*_*o B的帖子

如何在UINavigationController的RootViewController上显示后退按钮?

这是我的代码.我想在开放的rootviewController上放一个后退按钮.

- (void)selectSurah:(id)sender {

    SurahTableViewController * surahTableViewController = [[SurahTableViewController alloc] initWithNibName:@"SurahTableViewController" bundle:nil];
    surahTableViewController.navigationItem.title=@"Surah";

    surahTableViewController.navigationItem.backBarButtonItem.title=@"Back";

    UINavigationController *aNavigationController = [[UINavigationController alloc] initWithRootViewController:surahTableViewController];

    [self presentModalViewController:aNavigationController animated:YES];   
}
Run Code Online (Sandbox Code Playgroud)

iphone xcode uinavigationcontroller uibarbuttonitem ios

12
推荐指数
2
解决办法
1万
查看次数

使用MBProgressHUD断言失败 - 视图不能为零

我试图MBProgressHUD在一个应用程序中使用.我将HUD添加到视图中时出错.

这是将进度条添加到视图的代码.

HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.view.window addSubview:HUD];

// Set determinate mode
HUD.mode = MBProgressHUDModeAnnularDeterminate;

HUD.labelText = @"Loading";

// myProgressTask uses the HUD instance to update progress
[HUD showWhileExecuting:@selector(processFieldEntries) onTarget:self withObject:nil animated:YES];
Run Code Online (Sandbox Code Playgroud)

应用程序错误:

*** Assertion failure in -[MBProgressHUD initWithView:], /Users/.../MBProgressHUD/MBProgressHUD.m:190
Run Code Online (Sandbox Code Playgroud)

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'View must not be nil.'
Run Code Online (Sandbox Code Playgroud)

Crash: View must not be nil.
Run Code Online (Sandbox Code Playgroud)

有谁知道断言失败是什么以及如何解决.MBProgressHUD.m文件包含在Build Phases选项卡下的Compile Sources中,并包含在文件中.正在将进展添加到处理现场验证的过程中.

uiviewcontroller uiview ios mbprogresshud ios5

12
推荐指数
1
解决办法
6798
查看次数

核心数据:executeFetchRequest vs performFetch

我想要一份关于两者之间比较的详细清单.我所知道的事情:

executeFetchRequest:

  • 消息发送给MOC
  • 返回一个托管对象数组
  • 目标:从持久性存储中获取对象到MOC
  • 使用表视图:与表视图无关
  • 频率:经常在循环中使用,因此可以多次调用

performFetch:

  • 消息已发送至FRC
  • 调用它之后,用于fetchedObjects返回一个托管对象数组
  • 使用表视图:FRC专门用于保持托管对象和表视图行同步,并用于performFetch初始化该进程.
  • 频率:通常只有一次.除非获取的FRC变化的要求,没有必要要求performFetch第二次

如果我错了请纠正我并附上清单.谢谢.

core-data objective-c nsfetchedresultscontroller nsfetchrequest

12
推荐指数
1
解决办法
8195
查看次数

如何创建子NSManagedObjectContext?

我看过一些视频/帖子说可以创建'儿童'MOCs - 使用其他MOC作为持久存储的MOC.例如,在您正在线程化应用程序的上下文中,并希望拥有一个可以保存/回滚子线程创建的更改的主MOC时很有用.(根据我的理解,MOC和它的托管对象必须都在同一个线程上使用)

问题是,我如何创建一个儿童MOC?我无法追踪我正在观看的WWDC视频介绍它们,我所看到的一切都在讨论如何使用它们.我可以很容易地分配一个新的MOC,但我该怎么设置它持久存储是另一个MOC?该引用没有显示任何功能!

xcode core-data objective-c nsmanagedobjectcontext ios

11
推荐指数
1
解决办法
7847
查看次数

转义NSDateFormatter字符串

如何从NSDateFormatter格式中转义字符?

NSDate *currentDate = [NSDate date];
NSDateFormatter *dateFormater = [[NSDateFormatter alloc] init];
[dateFormater setDateFormat:@"dd/MM/yyyy \\a\\t HH:mm"];
NSString *dateFormated = [dateFormater stringFromDate:currentDate];

NSLog(@"%@", dateFormated);
Run Code Online (Sandbox Code Playgroud)

objective-c nsdate nsdateformatter

11
推荐指数
1
解决办法
3942
查看次数

使用XCode 5支持iOS 5.0图标

我正在使用新的资产目录AppIcon为iOS 5(理论上),6和7设置正确的图标.不幸的是,当我在iPad 1(使用iOS 5.1.1)上安装应用程序时,显示的图标不是正确的(它从另一个升级,当然是57x57).

我在创建资产目录后看到,在Info.plist文件中添加了2个空条目:

  • Icon files (iOS 5)
  • CFBundleIcons~ipad

我已经阅读了很多"解决方案",但没有任何对我有用:(

其中一个解决方案是在plist中添加这些条目(并在项目中添加相应的图标):

<key>CFBundleIcons</key>
<dict>
    <key>CFBundlePrimaryIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>Icon.png</string>
            <string>Icon@2x.png</string>
            <string>Icon-72.png</string>
            <string>Icon-72@2x.png</string>
        </array>
        <key>UIPrerenderedIcon</key>
        <true/>
    </dict>
</dict>
<key>CFBundleIcons~ipad</key>
<dict>
    <key>CFBundlePrimaryIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>Icon-Small</string>
            <string>Icon-Small-50</string>
            <string>Icon-72@2x.png</string>
            <string>Icon-72.png</string>
        </array>
        <key>UIPrerenderedIcon</key>
        <true/>
    </dict>
</dict>
Run Code Online (Sandbox Code Playgroud)

但它根本不起作用.

我正在使用XCode 5.0(5A1413).

任何帮助将非常感激.

xcode icons ios ios5

11
推荐指数
1
解决办法
5894
查看次数

测试飞行Beta测试:Xcode 6.3 Beta 4不显示崩溃

我专注于新的测试飞行程序.我开发了一个应用程序(我通过Xcode提交到iTunes Connect门户),如果点击了UIButton它,它会崩溃.由于该应用程序可用于Beta测试到内部测试人员,我希望在Xcode 6.3 Beta 4 的新Crashes部分中看到崩溃日志(请参阅Crashes Organizer帮助).但没什么.没有可用的崩溃.

这有什么特别的原因吗?这与我正在使用的测试人员类型有关吗?我知道Xcode 6.3是Beta版本.

crash xcode beta-testing testflight xcode6

11
推荐指数
2
解决办法
3137
查看次数

Xcode中Info.plist文件上的多个图标条目

当我在Xcode 4上导入一个在Xcode 3上启动的项目时,它会在Info.plist文件中为图标添加另一组条目.像这样的东西:

在此输入图像描述

有时候,还有另一个名为"Icon file"(单数形式,而不是复数形式)的条目,单独使用.

是否需要所有这些条目?

另一个问题:为什么启动图像Default.pngDefault@2x.png添加到图标部分?

iphone xcode icons ipad ios

10
推荐指数
1
解决办法
9128
查看次数

AFNetworking - 为什么它会产生一个网络请求线程?

我试图更好地理解操作和线程,并查看AFNetworking的AFURLConnectionOperation子类,例如,真实世界的源代码.

我目前的理解是当实例NSOperation被添加到操作队列时,队列等管理负责执行操作的线程.在苹果公司的文档,NSOperation它指出,即使子类返回YES-isConcurrent操作将始终在一个单独的线程来启动(为10.6).

基于Apple在线程编程指南并发编程指南中强大的语言,管理线程似乎最好留给内部实现NSOperationQueue.

但是,AFNetworking的AFURLConnectionOperation子类产生了一个新的NSThread,并且操作-main方法的执行被推送到此网络请求线程.为什么?为什么这个网络请求线程是必要的?这是一种防御性编程技术,因为该库旨在供广大受众使用吗?调试库的消费者是不是更麻烦?在专用线程上进行所有网络活动是否有(微妙的)性能优势?

(
1月26日添加)在Dave Dribin 的博客文章中,他演示了如何使用NSURLConnection的具体示例将操作移回主线程.

我的好奇心来自Apple的线程编程指南中的以下部分:

保持你的线程合理繁忙.
如果您决定手动创建和管理线程,请记住线程占用宝贵的系统资源.您应该尽力确保为线程分配的任何任务都是合理的长寿和高效的.与此同时,您不应该害怕终止花费大部分时间闲置的线程.线程使用大量内存,其中一些是有线的,因此释放空闲线程不仅有助于减少应用程序的内存占用,还可以释放更多物理内存供其他系统进程使用.

在我看来,AFNetworking的网络请求线程没有"保持相当忙碌"; 它正在运行一个无限的while循环来处理网络I/O. 但是,请注意,这就是问题的关键 - 我不知道,我只是在猜测.

AFURLConnectionOperation对操作,线程(运行循环?)和/或GCD的具体问题的任何洞察或解构都将非常有利于填补我理解的空白.

objective-c nsoperation nsthread nsoperationqueue afnetworking

10
推荐指数
1
解决办法
1447
查看次数

用NSOperationQueue解决读者 - 作家问题?

我知道可以使用障碍解决GCD中的读写器问题.由于我(通常)NSOperationQueue在性能不是关键问题时尝试使用而不是GCD,我想要一个NSOperation兼容此问题的兼容解决方案.

我试着写自己的,但我的解决方案变得笨拙......当然有人已经解决了这个问题吗?

有没有人知道NSOperation兼容读写器问题的解决方案?

concurrency objective-c nsoperation nsoperationqueue grand-central-dispatch

10
推荐指数
1
解决办法
253
查看次数