小编The*_*Jer的帖子

获取NSString中包含的文件的扩展名

我有一个NSMutable字典,其中包含fileone.doc或filetwo.pdf的简单形式的文件ID及其文件名+扩展名.我需要确定在UITableView中正确显示相关图标的文件类型.这是我到目前为止所做的.

NSString *docInfo = [NSString stringWithFormat:@"%d", indexPath.row]; //Determine what cell we are formatting
NSString *fileType = [contentFiles objectForKey:docInfo]; //Store the file name in a string
Run Code Online (Sandbox Code Playgroud)

我写了两个正则表达式来确定我正在查看的文件类型,但它们永远不会返回正面结果.我以前没有在iOS编程中使用正则表达式,所以我不确定我是否正确,但我基本上复制了类描述页面中的代码.

    NSError *error = NULL;
NSRegularExpression *regexPDF = [NSRegularExpression regularExpressionWithPattern:@"/^.*\\.pdf$/" options:NSRegularExpressionCaseInsensitive error:&error];
NSRegularExpression *regexDOC = [NSRegularExpression regularExpressionWithPattern:@"/^.*\\.(doc|docx)$/" options:NSRegularExpressionCaseInsensitive error:&error];
    NSUInteger numMatch = [regexPDF numberOfMatchesInString:fileType options:0 range:NSMakeRange(0, [fileType length])];
    NSLog(@"How many matches were found? %@", numMatch);
Run Code Online (Sandbox Code Playgroud)

我的问题是,有更简单的方法吗?如果没有,我的正则表达式是不正确的?最后,如果我必须使用它,运行时间是否昂贵?我不知道用户的平均文件数量是多少.

谢谢.

regex iphone objective-c nsstring ios5

52
推荐指数
3
解决办法
4万
查看次数

无法在Swift的Storyboard中加载UIViewController XIB文件

我已经阅读了使用XCode故事板来实例化使用XIB进行设计的视图控制器,但是我在使用Swift(使用Xcode 6 Beta 6)时遇到了麻烦.我想知道我做错了什么或者这个功能不再可用了吗?

我创建了一个简单的存储库,https://github.com/jer-k/StoryboardTesting-Swift,它展示了上述方法.

我设法通过添加和覆盖init来解决问题

required init(coder aDecoder: NSCoder) {
    super.init(nibName: "TestViewController", bundle: NSBundle.mainBundle())
}
Run Code Online (Sandbox Code Playgroud)

但我想知道是否仍有可能让故事板为我处理这个问题.创建一个超类让我的所有UIViewControllers继承上面的代码并不是世界上最麻烦的东西,但我只是好奇.

storyboard xib uiviewcontroller ios swift

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

将presentModalViewController与故事板一起使用

我对iOS编程很新,我正在开发一个iPad应用程序,它附带一个带有4个视图控制器的Tab键控制器(名为FirstViewController,SecondViewController等).目前,标签栏控制器设置为应用程序的默认起点.我希望能够在用户到达该点之前对其进行身份验证,因此我添加了另一个名为LoginViewController的View Controller,它在Storyboard中自行浮动.

我想要做的是允许应用程序加载和在didFinishLaunching中,显示登录页面,直到身份验证完成,然后关闭它.过去几天我一直在寻找,但我一直在尝试的一切都失败了.

我最近的尝试是

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]];

UINavigationController *loginVC = [storyboard instantiateViewControllerWithIdentifier:@"loginVC"];

loginVC.modalPresentationStyle = UIModalPresentationFullScreen;

[self.window.rootViewController presentModalViewController:loginVC animated:YES];
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.它编译并运行,但视图根本没有出现,我真的很困惑为什么会发生这种情况.

authentication objective-c storyboard presentmodalviewcontroller ios

8
推荐指数
1
解决办法
9261
查看次数

当方向锁定打开且应用程序仅支持纵向时,如何检测设备方向

我遇到的问题是,当用户使用我们的应用程序拍照时AVCaptureSession,我无法确定他们是以纵向还是横向模式拍摄照片.我们的应用程序仅支持Portrait,我在使用手机时保持方向锁定,因此我正在尝试构建一个解决方案,假设其他人也可以这样做.

我查看了使用[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]但是当Orientation Lock打开时,没有收到任何通知.我知道此功能是可行的,因为当我的手机启用了方向锁定时,基本相机应用和Google环聊应用中的相机可以检测到旋转(取消和Flash按钮上的动画很明显).

我最好使用加速度计并检测手机旋转的角度?一个老的答案,检测iPhone的屏幕方向,很明显检测到这种方式的角度很容易做到(显然适应使用Core Motion而不是UIAccelerometer的答案),但我很好奇是否有另一种方法可以做它.

objective-c accelerometer ios core-motion uideviceorientation

7
推荐指数
1
解决办法
934
查看次数

为核心数据编写创建后台线程

我正在尝试重新创建此cocoanetics文章(http://www.cocoanetics.com/2012/07/multi-context-coredata/)中描述的三层核心数据系统.我遇到的问题是在自己的后台线程上创建私有MOC.我对多线程有很多经验,如何在目标c中完成.我一直在阅读文章,并试图掌握如何正确实施这种方法,但我终于承认我不知道自己在做什么.

要创建此方法,我是否需要创建NSThread并对其进行管理?还是有一种我不理解的简单方法?

multithreading core-data objective-c save ios

4
推荐指数
1
解决办法
1249
查看次数