Tag: objective c

简单的应用程序委托方法显示一个UIAlertController(在Swift中)

在obj-C中,当另一个iOS应用程序(邮件附件,网页链接)被点击与我的应用程序相关的文件或链接。 然后,我会在openURL或didFinishLaunchingWithOptions上捕获这个,并显示一个UIAlertView来确认用户想要导入数据。 现在, UIAlertView贬值,我正在尝试做同样的事情,但不是真的确定最好的方式来做到这一点? 我的应用程序从另一个应用程序接收数据时,显示简单的警报时遇到问题。 这个代码在Objective-C中使用UIAlertView : – (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { if (url) { self.URLString = [url absoluteString]; NSString *message = @"Received a data exchange request. Would you like to import it?"; importAlert = [[UIAlertView alloc] initWithTitle:@"Data Received" message:message delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil]; [importAlert show]; } return YES; } 但是,当我尝试切换到UIAlertViewController和Swift我似乎无法find一个简单的方法来显示消息: […]

避免“NSArray被列举时发生了变异”

我有一个NSMutableArray为Box2d物理模拟存储mousejoints。 当使用多个手指玩我会得到例外说明 枚举时,NSArray发生了变异 我知道这是因为我从数组中删除对象,同时枚举通过它,使枚举无效。 我想知道什么是最好的战略来解决这个未来? 我已经看到了一些在线解决scheme: @synchronized ,枚举之前复制数组或将触摸接点放入一个垃圾数组以供以后删除(我不知道会工作,因为我需要从列直接删除鼠标连接从世界中删除后)。

自动布局和“按下时隐藏底部栏”

我的应用程序(简化)的结构是这样的: UITabBarController与一个UINavigationController持有一个UITableViewController作为根视图控制器。 当点击一个表视图控制器单元格,我推一个常规的UIViewController (让我们称之为VC)结束隐藏底部的标签栏。 (使用“隐藏底部栏时推”标志) 在故事板中,我将一个普通的UIView子类添加到VC,看起来像一个底部栏,我使用自动布局将其固定到VC视图的底部。 问题 当我推VC时,这个视图需要一秒钟的时间来固定到底部,它看起来像自动布局钉在底部好像标签栏没有隐藏,并在一秒后,它认识到标签栏是隐藏的,并移动它到真实的底部。 我知道这不是最好的解释,所以我添加了一个非常简单的项目来演示这个问题。

Objective-C静态,外部,公共variables

我想有一个variables,我可以通过导入一个头文件来访问任何地方,但我也希望它是静态的,只有其中一个创build。 在我的.m文件中,我指定了 static BOOL LogStuff = NO; 并在初始化方法中设置日志logging值: + (void)initialize { LogStuff = … //whatever } 但是我希望能够通过导入.h文件来访问我的variables,所以我想要做这样的事情: static extern BOOL LogStuff; 但我不能这样做。 是否有可能做我想做的事情? 谢谢

Objective-C的NSMutableArray枚举时突变?

我有点偶然发现错误,你试图从NSMutableArray中删除对象,而其他对象被添加到其他地方。 为了简单起见,我不知道如何解决这个问题。 这是我在做什么: 我有4个计时器调用4个不同的方法,将对象添加到相同的数组。 现在,当我按下某个button,我需要删除数组中的所有对象(或至less一些)。 所以我试着先把所有的4个定时器全部无效,然后用数组来做我想要的工作,然后启动定时器。 我以为这会工作,因为我不再使用定时器枚举整个数组,但看起来不起作用。 这里有什么build议?

哪里是在iOS应用程序中存储常量的最佳位置?

我正在开发一个应用程序,从JSON API获取资源。 所有资源都具有相同的基本url: http://api.mysite.com/resources.json http://api.mysite.com/other_resources.json 我想存储http://api.mysite.com/string,以便它可以用于我的所有控制器和模型,在编写资源URL时删除一些重复项。 最好的地方在哪里呢? -prefix.pch文件? 任何意见赞赏

iPhone获取当前的一年string

如何在Obj-C中获得当前string? 另外如何比较使用另一年的价值相同? 比较string比较或直接比较是可取的吗?

在NSDictionary中使用类作为键

我正在编写一个上下文“工厂”,将维护从某些Converter类inheritance的转换器/代理对象的字典。 这个类有一个方法: – (Class)classResponsibility 或类似的东西,这样一个StringConverter类将实现该方法为: – (Class)classResponsibility { return [NSString class]; } 然后把这个转换器存储在字典中,我希望能做到这样的事情: [converters setValue:stringConverter forKey:[stringConverter classResponsibility]]; 但是,编译器会抱怨,对于setValue:forKey:方法的参数2,“Class”types是无效的参数types。 我曾经希望避免将密钥设置为类的名称(“NSString”),但是如果这是最好的解决scheme,那么我将使用它。

有没有办法让NSUserDefaults中的所有值?

我想打印所有通过NSUserDefaults保存的值而不提供特定的键。 就像使用for循环打印数组中的所有值一样。 有没有办法做到这一点?

pathForResource返回null

我想在我的项目中加载一些.applescript文件。 将它们复制到“支持文件”目录中,如下所示: 并试图访问它们: NSBundle *bundle = [NSBundle mainBundle]; NSLog(@"Resource path for test.applescript: %@", [bundle pathForResource:@"test" ofType:@"applescript"]); pathForResource总是返回null。 这两个文件都正确地导入到xcode中。 目标会员是我的应用程序。 类似问题的解决scheme并没有真正的帮助 我究竟做错了什么?