小编Kri*_*enz的帖子

使用Swift读取JSON文件

我真的很想尝试将一个JSON文件读入Swift,所以我可以玩它.我已经花了2天的时间重新搜索和尝试不同的方法,但没有运气,所以我已经注册StackOverFlow,看看是否有人可以指出我正确的方向.....

我的JSON文件名为test.json,包含以下内容:

{
  "person":[
     {
       "name": "Bob",
       "age": "16",
       "employed": "No"
     },
     {
       "name": "Vinny",
       "age": "56",
       "employed": "Yes"
     }
  ]
}    
Run Code Online (Sandbox Code Playgroud)

该文件直接存储在文档中,我使用以下代码访问它:

let file = "test.json"
let dirs : String[] = NSSearchPathForDirectoriesInDomains(
                                                          NSSearchpathDirectory.DocumentDirectory,
                                                          NSSearchPathDomainMask.AllDomainMask,
                                                          true) as String[]

if (dirs != nil) {
    let directories: String[] = dirs
    let dir = directories[0]
    let path = dir.stringByAppendingPathComponent(file)
}

var jsonData = NSData(contentsOfFile:path, options: nil, error: nil)
println("jsonData \(jsonData)" // This prints what looks to be JSON encoded data.

var jsonDict = …
Run Code Online (Sandbox Code Playgroud)

xcode json nsjsonserialization swift ios8

174
推荐指数
17
解决办法
19万
查看次数

Swift 3/Xcode 8升级 - 工作副本错误中缺少100个DerivedData文件

我刚刚升级到XCode和Swift的最新Beta版本,但在使用转换器之后我的app项目现在有超过200个构建时间黄色错误所有声明/"projectDirectoy"/ DerivedData/XXXXXXXXX/XXXX/XXX/xXXX/xXX缺失工作副本... XXXXX代表DerivedData文件夹中的各种文件路径.

我尝试从错误中提到的位置删除DerivedData文件夹.

我已经尝试删除〜/ Library /中DerivedData文件夹中的所有内容.

我已多次尝试清理项目,重新启动并进行全新构建.

我试过关闭偏好中的源代码控制但是我不明白为什么我应该在我更新之前关闭它,所以我希望它保持原样.

这些错误似乎不会消失.

有任何想法吗?

xcode ios swift swift3 xcode8

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

如何在UIBarButtonItems和UI按钮上禁用多点触控?

我的应用程序在每个屏幕上都有相当多的按钮以及UIBarButtonItem后退按钮,我遇到了人们能够多点击按钮的问题.我一次只需要一个按钮就可以点击.

有谁知道如何使UIBarButtonItem后退按钮专用于触摸?

我设法通过将每个视图设置为isExclusiveTouch = true来禁用多次单击UIButton,但这似乎不计入导航栏中的后退按钮.

后退按钮似乎不符合isExclusiveTouch.

有没有人有一个简单的工作,不涉及编码每个按钮发送事件?

非常感谢,

Krivvenz.

back-button multi-touch uibutton uibarbuttonitem swift

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

MKUserLocation是可选择的,错误地拦截来自自定义MKAnnotationViews的触摸

我在我的iOS应用程序中有一个普通的地图,其中"显示用户位置"已启用 - 这意味着我在地图上有我的正常蓝点,显示我的位置和准确度信息.标注在代码中被禁用.

但我也有定制的MKAnnotationViews,它们在地图上绘制,所有这些都有自定义标注.

这工作正常,但问题是当我的位置在MKAnnotationView的位置时,蓝点(MKUserLocation)拦截触摸,因此MKAnnotationView不会被触及.

如何禁用蓝点上的用户交互,以便MKAnnotationViews而不是蓝点拦截触摸?

这就是我到目前为止所做的事情:

- (MKAnnotationView *)mapView:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>)annotation;
{
    if (annotation == self.mapView.userLocation)
    {
        [self.mapView viewForAnnotation:annotation].canShowCallout = NO;
        return [self.mapView viewForAnnotation:annotation];
    } else {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

objective-c mapkit mkannotationview ios mkuserlocation

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