Tag: 快捷

Objective-C到Swift:使用NSJSONSerialisation的NSData

以下是我在ObjC中的代码片断 NSDictionary *json; NSString *filePath = [[NSBundle mainBundle] pathForResource:@"realstories" ofType:@"json"]; NSData *data = [NSData dataWithContentsOfFile:filePath]; json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil]; 我尝试过使用它的Siwft等价物: var json = [AnyHashable:Any]() let filePath: String? = Bundle.main.path(forResource: "realstories", ofType: "json") let data = NSData(contentsOfFile:filePath!) json = ((NSKeyedUnarchiver.unarchiveObject(with: data as! Data) as! NSDictionary) as! [AnyHashable:Any]) 但是我陷入了错误: unexpectedly found nil while unwrapping an […]

如何在Swift中获取JSON数据并将其添加到URL

我如何获取JSON数据并将其添加到URL? 我的情况是我会访问JSON的URL,但我需要从其他JSON的URL值。 这是我的Json,我需要一个令牌来访问它。 https://api-sandbox.tiket.com/flight_api/all_airport/token= …… 要获取令牌,我必须从其他JSON访问,这个视图的另一个JSON来获取令牌。 {“diagnostic”:{“status”:200,“elapsetime”:“0.2082”,“memoryusage”:“16.99MB”,“unix_timestamp”:1499832598,“confirm”:“success”,“lang” ,“currency”:“IDR”},“output_type”:“json”,“login_status”:“false”,“token”:“ b650fce732668b58b0a4c404b65932e972ad123d ”} 我必须获取价值标记,并将其添加到第一个JSON URL来访问第一个JSON 这我的编码: func getLatestKotaTujuan(){ var tujuanUrl = URLComponents(string: "https://api-sandbox.tiket.com/flight_api/all_airport?")! tujuanUrl.queryItems = [ URLQueryItem(name: "token", value: "4d4bba355bb920fbdc1aa3848769a59ba74ea03c" ), URLQueryItem(name: "output", value: "json") ] let request = tujuanUrl.url let task = URLSession.shared.dataTask(with: request!, completionHandler: { (data, response, error) -> Void in if let error = error […]

parsing一个json数组会返回swift中的空元素

正如OOPer所build议的那样,我把它作为一个单独的问题发布。 这是这个的扩展: JSON序列化错误 我拉一个PHP脚本读取一个SQL数据库的JSON数组。 json非常大,但应该通过使用几个在线testing人员进行testing。 问题是,当我尝试从数组中获取元素返回nil。 它能够下载数据,并且可以正确地计算数组中有多less个元素,但是当我尝试访问这些元素时,它将返回nil。 有什么build议么? 这是一个元素的例子: { "id":2045, "oprettelsesdato":"09-02", "overskrift":"etc etc etc", "navn":"xyz xyz xyz", "tlf":"12345678", "email":"etc@etc.etc", "journal":"MJ", "intro":"yada yada yada yada ", "annonce":"test", "address":"testroad" }, LocationModel.swift import Foundation class LocationModel: NSObject { //properties var id: String? var oprettelsesdato: String? var overskrift: String? var address: String? var intro: String? var email: String? […]

Ios倒计时,直到下一个选定的日子,以小时为单位:分钟:秒

所以我有这个 var seconds = 0 var minutes = 0 var hours = 0 var secondsUntilMidnight = 0 var minutesUntilMidnight = 0 var hoursUntilMidnigh = 0 var day = 0 var month = 0 var year = 0 //xvar day = [ hours, minutes, seconds] var damian = "DayofWeek" var monday = true var tuesday = […]

animationinputAccessoryView Swift的高度

你好我试图改变一个button设置为inputAccessoryView一旦我点击它的高度。 不幸的是,似乎只能改变位置,而不是高度。 谁能帮我吗? 在我的代码下面。 谢谢! import UIKit class ViewController: UIViewController, UITextFieldDelegate { @IBOutlet var textField: UITextField! var SendButton: UIButton = UIButton.buttonWithType(UIButtonType.Custom) as UIButton override func viewDidLoad() { super.viewDidLoad() SendButton.frame = CGRectMake(0, 0, UIScreen.mainScreen().applicationFrame.width, 30) SendButton.backgroundColor = UIColor(red: 184/255.0, green: 56/255.0, blue: 56/255.0, alpha: 1) SendButton.setTitle("Send", forState: .Normal) SendButton.addTarget(self, action: "sendNotification", forControlEvents: UIControlEvents.AllEvents) } override func […]

Swift,从asynchronous块返回值

对于iOS开发来说,这是一个很新的东西,我刚刚开始涉足GCD,我已经阅读了几篇关于SO的文章,并且已经咨询了Apple的文档,但是我很难理解如何从“昂贵”的操作中设置返回值。 下面的函数将遍历总和100K用户(作为一个例子),在主线程上这样做显然会停止GUI几秒钟,因此在我的UserList类中,我build议在我的线程上asynchronous执行这个块: let queue = dispatch_queue_create("me.alexsims.user_queue", DISPATCH_QUEUE_CONCURRENT) public func getUserById(userId: String, completionHandler: (result: User) -> ()) { dispatch_async(queue) { for user in self.users { if user.getUserId() == userId { completionHandler(result: user) } } // Return an empty user object completionHandler(result: User()) } } 现在从我的理解, resultvariables应该返回,然后我应该能够访问从我的主线程存储在那里的User()对象 但是,当我返回到我的控制器并运行testing时: var list = UserList() var a_user = User() a_user […]

Swift + Locksmith:没有获取存储的钥匙串值

所以我似乎有一些问题从钥匙链获得这个价值。 这是我用来保存密码。 这在第二个视图控制器上被调用。 do { try Locksmith.updateData(["password": "Boom123456"], forUserAccount: "KeychainDemo") } catch { print("Unable to set password") } 当我回到第一个视图控制器上,检查钥匙串项目: let dictionary = Locksmith.loadDataForUserAccount("KeychainDemo") if let passwordSaved = dictionary!["password"]?.stringValue { print("password: \(passwordSaved)") } else { print("No Password") } 当我运行的应用程序,我得到: 没有密码 在控制台。 但是,当我在let词典上设置断点,然后在控制台中键入po字典时,我得到这个输出: Optional <Dictionary<String, AnyObject>> Some : 1 elements [0] : 2 elements – .0 : […]

问题显示来自url的图像数组

通过Firebase,我打电话给很多URL将其转换为UIImage,但不是以正确的顺序显示。 打印function标记为: 0 2 1 3 4 JSON是这样的: { "evento_1" = "http://.altervista.org/evento1.jpeg"; "evento_2" = "http://.altervista.org/evento2.jpeg"; "evento_3" = "http://.altervista.org/evento3.jpeg"; "evento_4" = "http://.altervista.org/evento4.jpeg"; "evento_5" = "http://.altervista.org/evento5.jpeg"; } 获取数据的函数: ref.observeEventType(.Value, withBlock: { snapshot in let nsDictionary = snapshot.value as? NSDictionary for (key, value) in nsDictionary! { dict[key as! String] = value } var index = 0 for (_, […]

如何添加徽章到我的ImageView在iOS?

我最近正在开发一个聊天应用程序。 我在这里处理传入消息的麻烦。 我有一个tableview显示我所有的对话框。 一旦我收到新消息,我想在该单元的图标上添加一些数字(类似于应用上的徽章)。 我试图添加一个子视图到angular落左上angular的单元格? 我不太确定这一点,我可以做些什么来实现呢? 表格视图单元格的图像

SpriteKit,Swift – ScrollView不显示

好的,所以我使用这个方法实现了一个滚动视图: 如何在spritekit中创build一个垂直滚动菜单? 现在,当我启动场景时,除黑色/灰色背景外,不显示任何内容 这里是我在菜单场景中使用的代码: import Foundation import SpriteKit import UIKit //let kMargin: CGFloat = 40 //var backButton = SKSpriteNode() //var selectButton = SKSpriteNode() var moveableNode = SKNode() var scrollView: CustomScrollView! private var imageSize = CGSize.zero var sprite = SKSpriteNode() class Menu: SKScene { func didMoveToView() { addChild(moveableNode) scrollView = CustomScrollView(frame: CGRect(x: 0, y: 0, width: […]