小编Adr*_*ian的帖子

Xcode 9.0模拟器“消失”

我最近在计算机上安装了Xcode 9.0 GM。我将它发射出去玩,在该方案中看到的唯一模拟器是iPhone 8,iPHone 8 Plus和iPhoneX。我单击“下载其他模拟器”,认为解决方案就在那里。

在此处输入图片说明

我看到这个屏幕,它是我以前安装的所有屏幕。

在此处输入图片说明

我在Apple Developer论坛上四处摸索,发现这篇文章讨论了与先前版本的iOS类似的问题。在其中一张海报的建议下,我关闭了机器的电源,然后冷启动了它。我再次打开Xcode 9.0,但遇到了同样的问题。

有什么建议可以使我的Xcode方案中出现其他硬件吗?感谢您的阅读。

xcode ios ios-simulator

14
推荐指数
2
解决办法
5112
查看次数

Swift 4中的反向地理编码

我正在尝试编写一个简单的方法,它被馈送CLLocationDegrees并返回一个CLPlacemark.看看Apple的文档,这似乎是一项简单的任务.

以下是我放入游乐场的内容:

import CoreLocation
// this is necessary for async code in a playground
import PlaygroundSupport 

// this is necessary for async code in a playground
PlaygroundPage.current.needsIndefiniteExecution = true

func geocode(latitude: CLLocationDegrees, longitude: CLLocationDegrees) -> CLPlacemark? {
  let location = CLLocation(latitude: latitude, longitude: longitude)
  let geocoder = CLGeocoder()

  var placemark: CLPlacemark?

  geocoder.reverseGeocodeLocation(location) { (placemarks, error) in
    if error != nil {
      print("something went horribly wrong")
    }

    if let placemarks = placemarks {
      placemark = …
Run Code Online (Sandbox Code Playgroud)

cllocationmanager ios swift

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

TableView单元重用和不需要的检查标记 - 这让我感到害怕


Apple的iOS TableView和细胞重用正在扼杀我.我搜索,搜索和研究,但找不到好的文档或好的答案.问题是当TableView重新使用单元格时,在表格视图的下方单元格中重复设置在所选单元格上的Checkmarks(单元格附件)之类的内容.我知道细胞重用是由于内存限制而设计的,但是如果你有一个包含50个项目的列表,并且它开始在不需要它们的地方设置额外的复选标记,这使整个努力变得毫无用处.

我想要做的就是在我选择的单元格上设置复选标记.我已经尝试使用我自己的自定义单元类,以及由锅炉板TableView类生成的标准单元格,但它总是最终相同.

Apple甚至还有一个名为TouchCell的示例项目,您可以从开发中心下载,该项目应该显示使用左侧带有图像控件的自定义单元格设置复选标记的不同方式.该项目使用字典对象作为数据源而不是可静音数组,因此对于每个项目都有一个字符串值和bool检查值.此bool检查值应设置复选标记,以便它可以跟踪所选项目.只要使用15个以上的单元格填充TableView,此示例项目也会显示此愚蠢行为.单元格的重用开始设置不需要的复选标记.

我甚至尝试过为每个细胞使用一个真正独特的细胞标识符.因此,不是每个单元格都有@"Acell"之类的东西,我使用静态int,强制转换为字符串,以便细胞得到@"cell1",@"cell2"等.在测试期间,我可以看到数百个新细胞在哪里滚动期间生成,即使表只有30个项目.

它确实修复了复选标记重复问题,但我怀疑内存使用率过高.

当它们滚动回视图时,好像当前不在表的可视区域中的单元格会再次创建.

有没有人想出一个优雅的解决方案来解决这种恼人的行为?

reusability uitableview checkmark

11
推荐指数
1
解决办法
4652
查看次数

NSMutableOrderedSet为NSMutableArray

array = [NSMutableArray arrayWithArray:[set allObjects]];
Run Code Online (Sandbox Code Playgroud)

这适用于NSSet,但我如何让它与一个NSMutableOrderedSet

objective-c nsmutablearray ios nsorderedset nsmutableorderedset

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

在Swift中搜索字典数组的值

我是Swift的新手,上课学习iOS编程.我发现自己难以理解如何在字典数组中搜索字符串值并将字符串值转储到数组中.这是从我的Xcode游乐场获取的.

我试图弄清楚如何:1)搜索字典数组2)将搜索结果转储到数组(我已经创建)

这些是字符词典.

let worf = [
    "name": "Worf",
    "rank": "lieutenant",
    "information": "son of Mogh, slayer of Gowron",
    "favorite drink": "prune juice",
    "quote" : "Today is a good day to die."]

let picard = [
    "name": "Jean-Luc Picard",
    "rank": "captain",
    "information": "Captain of the USS Enterprise",
    "favorite drink": "tea, Earl Grey, hot"]
Run Code Online (Sandbox Code Playgroud)

这是上面列出的字符词典数组.

let characters = [worf, picard]
Run Code Online (Sandbox Code Playgroud)

这是我正在尝试写的功能.

func favoriteDrinksArrayForCharacters(characters:Array<Dictionary<String, String>>) -> Array<String> {
    // create an array of Strings to dump in favorite drink strings
    var favoriteDrinkArray = …
Run Code Online (Sandbox Code Playgroud)

arrays xcode dictionary ios swift

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

Swift 4 Codable:将JSON返回String转换为Int/Date/Float

我会通过一些项目和消除JSON解析框架,因为它看起来很简单斯威夫特与4.做我以前遇到过这个地方古怪JSON回报Ints,并Dates作为返回Strings.

我看着GrokSwift的JSON解析斯威夫特4,苹果公司的网站上,但我没有看到任何跳出来回复:改变类型.

Apple的示例代码显示了如何更改密钥名称,但我很难弄清楚如何更改密钥类型.

这是它的样子:

{
    "WaitTimes": [
        {
            "CheckpointIndex": "1",
            "WaitTime": "1",
            "Created_Datetime": "10/17/2017 6:57:29 PM"
        },
        {
            "CheckpointIndex": "2",
            "WaitTime": "6",
            "Created_Datetime": "10/12/2017 12:28:47 PM"
        },
        {
            "CheckpointIndex": "0",
            "WaitTime": "8",
            "Created_Datetime": "9/26/2017 5:04:42 AM"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我曾经习惯CodingKey将字典键重命名为符合Swift的条目,如下所示:

struct WaitTimeContainer: Codable {
  let waitTimes: [WaitTime]

  private enum CodingKeys: String, CodingKey {
    case waitTimes = "WaitTimes"
  }

  struct WaitTime: Codable {
    let checkpointIndex: String
    let waitTime: …
Run Code Online (Sandbox Code Playgroud)

json ios swift swift4 codable

9
推荐指数
1
解决办法
4757
查看次数

iOS 可访问性:使 UITextField 和指定的子视图可访问

我想创建一个文本字段和文本字段上的子视图,可通过 VoiceOver 访问。如果我使用UIAccessibilityContainer方法,我只能使子视图可访问。有什么方法可以做到这一点吗?

accessibility uitextfield ios voiceover uiaccessibility

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

Swift UISearchController连接在Core Data Project中,app运行,但搜索不更新

过去几天我一直在为TableViewController使用Core Data 的Swift项目创建一个过滤器而摔跤.我终于想通了我需要使用a UISearchController,创建一个NSPredicatefor searchController.searchBar等.

我发现这篇文章非常有帮助,但在我对TVC这个项目进行建模之后,我发现"所有的灯都亮着,但没有人在家".我可以搜索,创建谓词searchBar,添加,删除等,但单元格不会更新以进行搜索.我错过了什么,但我不知道是什么.

以下是我的代码的相关部分.

class MasterViewController: UITableViewController, NSFetchedResultsControllerDelegate, UISearchControllerDelegate, UISearchResultsUpdating

// Properties that get instantiated later

var detailViewController: DetailViewController? = nil
var addNoteViewController:AddNoteViewController? = nil  // I added this
var managedObjectContext: NSManagedObjectContext? = nil

// Added variable for UISearchController
var searchController: UISearchController!
var searchPredicate: NSPredicate? // I added this. It's optional on and gets set later

    override func viewDidLoad() {
        super.viewDidLoad()

        self.navigationItem.leftBarButtonItem = self.editButtonItem()

        if …
Run Code Online (Sandbox Code Playgroud)

filtering core-data uisearchresultscontroller swift uisearchcontroller

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

如何从MKMapItem中提取纬度/经度坐标

我正在创建一个使用CoreData存储兴趣点的应用程序.MKMapItem坐标可在其中访问mapItem.placemark.location.我想拔出个人纬度和经度坐标并将它们存储在managedObjectContextdouble秒.我该怎么办?

core-data mapkit cllocation mkmapitem

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

在Bootstrap 4中对导航栏进行对齐

我有一个导航栏,我已经使用了分割按钮下拉菜单和常规nav-items没有下拉菜单.

我有点工作,但我试图让导航元素填充浏览器窗口.我已经看到了对"工厂"Bootstrap类的引用会做到这一点,但我无法让它工作.

我有两个问题:

  1. 在Bootstrap 4中执行此操作的"工厂"方法是什么?

  2. 为什么按钮元素之间的间距不一致?

body {
  padding-top: 70px
}

.vcenter {
  display: inline-block;
  vertical-align: middle;
  float: none;
}


/* CSS menu */
.navbar, .navbar.btn-secondary {
  /* For browsers that do not support gradients */
  background-color: #b32017;
  /* For Safari 5.1 to 6.0 */
  background: -webkit-linear-gradient(#b32017, #801710);
  /* For Opera 11.1 to 12.0 */
  background: -o-linear-gradient(#b32017, #801710);
  /* For Firefox 3.6 to 15 */
  background: -moz-linear-gradient(#b32017, #801710);
  /* Standard syntax */
  background: linear-gradient(#b32017, #801710);
} …
Run Code Online (Sandbox Code Playgroud)

html css jquery twitter-bootstrap bootstrap-4

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