将JSON供稿转换为NSDictionary

JSON_CATEGORY_DATA_URL_STRING是我的供稿url,它可以正常返回: [ { "group":"For Sale", "code":"SSSS" }, { "group":"For Sale", "category":"Wanted", "code":"SWNT" } ] 我似乎无法得到一个很好的NSDictionary (或NSArray )出以下代码: + (NSDictionary *)downloadJSON { NSDictionary *json_string; NSString *dataURL = [NSString stringWithFormat:@"%@", JSON_CATEGORY_DATA_URL_STRING]; NSLog(@"%@",dataURL); NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:dataURL]]; NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; json_string = [[[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding]autorelease]; NSDictionary *json_dict = (NSDictionary *)json_string; NSLog(@"json_dict\n%@",json_dict); […]

iOS 7 Sprite Kit释放内存

我正在构build一个针对新的iOS 7和Sprite Kit的iOS游戏,使用发射器节点和物理来增强游戏性。 在开发应用程序的时候,我遇到了一个严重的问题:创build你的场景,节点,效果,但是当你完成并且需要返回到主屏幕时,你如何释放这些资源分配的所有内存? 理想情况下,ARC应该释放一切,应用程序应该回到创build场景之前的内存消耗级别,但这不是发生的情况。 我添加了下面的代码,作为视图的dealloc方法,它绘制场景并负责在closures(删除)时删除所有内容: – (void) dealloc { if (scene != nil) { [scene setPaused:YES]; [scene removeAllActions]; [scene removeAllChildren]; scene = nil; [((SKView *)sceneView) presentScene:nil]; sceneView = nil; } } sceneView是一个UIView,它是场景的容器 场景是SKScene类的扩展,创build所有SKSpriteNode对象 我非常感谢在这个问题上的任何帮助。

AESencryption和解密

我用swift编写应用程序,我需要AESencryption和解密function,我从另一个.Net解决scheme接收到encryption的数据,但是我找不到要做的事情。 这是我的.netencryption: public static byte[] AES_Encrypt(byte[] bytesToBeEncrypted, byte[] passwordBytes) { byte[] encryptedBytes = null; byte[] saltBytes = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 }; using (MemoryStream ms = new MemoryStream()) { using (RijndaelManaged AES = new RijndaelManaged()) { AES.KeySize = 256; AES.BlockSize = 128; var key = new Rfc2898DeriveBytes(passwordBytes, saltBytes, […]

UIPickerView看起来像UIDatePicker,但秒

我正在制作一个计时器应用程序,需要显示小时,分钟和秒钟给用户。 我尝试使用UIDatePicker但它只显示小时和分钟作为select。 不是几秒钟。 在网上做了一些研究之后,我发现在UIDatePicker没有办法得到秒数,我不得不从头开始写自己的UIPickerView 。 所以我的问题是,有这样的示例代码,即有人写了CustomUIPickerView小时,分钟和秒,我可以在我的项目中纳入? UIDatePicker有一个很好的覆盖时间和分钟的文字,保持在用户旋转拨号时。 如果有人在他们的自定义选取器中添加了这个,那也不错。 如果不需要,我宁愿不要从头开始写一个自定义的UIPickerView 。 谢谢。

iOS Firebase推送通知:如何提供Firebase用户的设备令牌并发送通知

最近在Google I / O活动中,Google重新整理了Firebase并添加了许多新function,并对其余部分进行了修改。 我一直试图通过Firebase将iOS推送通知实现到我的应用程序的最基本的级别,所以我创build了一个非常简单的应用程序,除了接收远程推送通知之外什么都不做。 在Firebase内部,我已经上传了我的证书,在Xcode中,我的configuration文件已经添加到目标和项目中,并且在Firebase中我已经上传了正确的证书。 下面是我的AppDelegate.swift文件中包含的代码,但因为我的ViewController.swift是“空的”,我没有包括它。 虽然没有崩溃或运行时错误,当我加载应用程序,我接受通知。 然后,我退出应用程序并closures我的设备。 在Firebase中,我将通知发送到正确的应用程序。 几分钟后,Firebase表示通知“已完成”。 但是,我从来没有收到设备上的通知。 因此,总而言之,我需要一个解决scheme来发送Firebase此设备deviceToken ,然后使用“Firebase通知”发送推送通知消息。 任何帮助我的代码或一般将不胜感激,我希望这有助于未来的观众。 谢谢! 我在AppDelegate.swift代码: import UIKit import Firebase import FirebaseMessaging @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { FIRApp.configure() let notificationTypes : UIUserNotificationType = [UIUserNotificationType.Alert, UIUserNotificationType.Badge, UIUserNotificationType.Sound] let notificationSettings = UIUserNotificationSettings(forTypes: […]

只允许UITextFieldinput的数字

iPad没有像iPhone / iPod那样的“Numpad”键盘。 我正在寻找如何限制用户的键盘只能接受0到9的值。 我会想象使用UITextField的“shouldChangeCharactersInRange”,但我不知道实现它的最好方法。

afnetworking 3.0迁移:如何使用标题和HTTP正文进行POST

我试图做一个POST请求有HTTPHeader字段和HTTP正文的YouTube的API。 以前在AFNetworking 2.0版中,我曾经这样做过, NSDictionary *parameters = @{@"snippet": @{@"textOriginal":self.commentToPost.text,@"parentId":self.commentReplyingTo.commentId}}; NSString *url = [NSString stringWithFormat:@"https://www.googleapis.com/youtube/v3/comments?part=snippet&access_token=%@",[[LoginSingleton sharedInstance] getaccesstoken]]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]]; [request setHTTPMethod:@"POST"]; [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; NSError *error; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:&error]; NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; // And finally, add it to HTTP body and job done. [request setHTTPBody:[jsonString […]

在iOS下载并解压文件

我想下载一个zip文件,里面包含了一个文件夹,里面有很多用于我的发音的文件audio。 我使用ASIHTTPRequest来下载它,我的问题是“我不知道如何解压该文件”。 我试图使用SSZipArchive和ZipArchive两个都是基于minizip但我得到错误,当我编译代码Undefined symbols for architecture i386: "_OBJC_CLASS_$_ZipArchive", referenced from: objc-class-ref in AppDelegate.o 。 那么你能给我一些build议吗?

Swift 3.1弃用initialize()。 我怎样才能做到这一点?

Objective-C声明一个类函数initialize() ,它在每个类被使用之前运行一次。 它经常被用作交换方法实现的切入点(混合)等等。 Swift 3.1不赞成使用这个函数,并带有一个警告: 方法'initialize()'定义了Objective-C类的方法'initialize',它不保证被Swift调用,在未来的版本中将不被允许 如何解决这个问题,同时仍然保持我目前使用initialize()入口点实现的相同行为和function?

显示启animation面的时间超过默认的秒数

是否有可能显示Default.png指定的秒数? 我有一个客户端,希望显示的启animation面比当前时间更长。 他们希望显示2 – 3秒。