小编use*_*037的帖子

不推荐使用Swift 4:substring(with :)':请使用字符串切片下标

我正在使用html的解码功能.但是我收到了这个警告.我该如何摆脱?

func decode(_ entity : String) -> Character? {

    if entity.hasPrefix("&#x") || entity.hasPrefix("&#X"){
        return decodeNumeric(entity.substring(with: entity.index(entity.startIndex, offsetBy: 3) ..< entity.index(entity.endIndex, offsetBy: -1)), base: 16)
    } else if entity.hasPrefix("&#") {
        return decodeNumeric(entity.substring(with: entity.index(entity.startIndex, offsetBy: 2) ..< entity.index(entity.endIndex, offsetBy: -1)), base: 10)
    } else {
        return characterEntities[entity]
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

swift swift4

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

iOS - UITableView - 取消删除行 - 按钮动画仅适用于附件视图

概述(已编辑)

我有UITableView,当我滑动时,会出现删除按钮,当我触摸其他位置时,删除按钮就会消失而没有任何动画.

随附配件

  • 如果我添加附件(Disclosure Indicator),当取消删除时,删除按钮会随着动画而消失.

没有附件

  • 如果我从表格视图单元格中删除附件,则删除取消不会显示任何动画.

  • 我不想要配件,但我想删除取消动画,有没有办法实现这个?

cocoa-touch uitableview ios

6
推荐指数
1
解决办法
1517
查看次数

如何获取 NSPropertyDescription 属性的旧值和新值

我设置了一个 CoreData 堆栈,能够检索特定对象的编辑历史记录等。我什至可以识别哪些属性发生了变化。然而,我正在努力获取该房产的新旧价值。请参阅下面的我的代码。这可能吗?如果是这样,怎么办?

func apply(_ changeItem: NSPersistentHistoryChange) {
    switch changeItem.changeType {
    case .update:
        guard let updatedProperties = changeItem.updatedProperties else { break }

        updatedProperties.forEach { (property) in
            // Get old and new value here
        }
    case .insert:
        // ...
    }
    // ...

}
Run Code Online (Sandbox Code Playgroud)

core-data ios swift

6
推荐指数
1
解决办法
267
查看次数

SwiftUI macOS 检测窗口关闭

目的:

  • 我有一个使用 Window 场景的 swiftUI 应用程序
  • 当用户关闭红色窗口时,我想打电话f1()

我的尝试:

onDisappear当用户关闭 macOS 应用程序窗口时似乎不会被调用

问题:

  1. 在 macOS (SwiftUI) 中,如何检测用户关闭窗口?
  2. 我错过了什么吗?

代码

应用程序

@main
struct DemoApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
        
        Window("test", id: "test") {
            Color.red
                .onDisappear {
                    print("onDisappear")
                    f1()
                }
        }
    }
    
    func f1() {
        print("f1 called")
    }
}
Run Code Online (Sandbox Code Playgroud)

内容视图

struct ContentView: View {
    @Environment(\.openWindow) private var openWindow
    var body: some View {
        Button("show red") {
            openWindow(id: "test")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

macos swiftui

6
推荐指数
1
解决办法
2074
查看次数

iOS - 本地通知 - 定制振动或振动更长时间

我正在尝试构建一个像闹钟一样工作的iPhone应用程序,我正在使用UILocalNotification

问题

  • 我希望手机能够振动更长时间.然而目前它只振动一次.

替代方法

  1. 是否可以使用自定义振动模式?(http://www.pcworld.com/article/242238/how_to_use_custom_vibrations_in_ios_5.html)

  2. 当推送通知被触发时,是否可以执行方法?(但应用程序可能甚至没有运行,但它需要工作)

  3. NSTimer是一个选择吗?(但应用程序可能甚至没有运行,但它需要工作)

  4. 还有其他替代品吗?

iphone-vibrate ios uilocalnotification

5
推荐指数
1
解决办法
3981
查看次数

UITextView - addSubview - Autolayout

问题:

  • 我创建了一个子类UITextView并添加了一个子视图v1.
  • 我正在使用Autolayout,所以我尝试添加用于定位子视图v1的约束.

错误:

它会引发以下错误:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Auto Layout still required after executing -layoutSubviews.

尝试:

  • 我试过在里面创建约束layoutSubviews但是我得到了同样的错误

目的

  • 我的主要目标是在文本视图的底部添加淡入淡出效果

题:

  1. 有没有更好的方法来实现我的目标?
  2. 我该如何解决这个错误?

uitextview ios autolayout

5
推荐指数
1
解决办法
2484
查看次数

使用调试器查找对象的所有强引用

我有一个A类的对象a1,我想找到所有对象a1具有强引用的对象.

有办法吗?

我想知道这个的原因是因为,a1似乎没有被释放.

objective-c dealloc ios xcode-instruments automatic-ref-counting

5
推荐指数
1
解决办法
3042
查看次数

Xcode 7.3.1应用程序提交到Appstore

Apple仍然接受使用Xcode 7.3.1(Swift 2.2)为AppStore构建的应用程序吗?

还是必须迁移到Xcode 8(至少Swift 2.3或以上)?

xcode ios swift

5
推荐指数
1
解决办法
427
查看次数

CKError localizedDescription

目标

  • 我想CKError在应用程序中向用户显示遇到的警报.
  • 所以我想从可以显示给用户的错误中提取字符串.

注意:此问题与要显示的UI代码无关.只想从错误中提取有意义的字符串.

我尝试使用localizedDescription但它似乎没有包含适当的字符串

码:

以下是我的尝试:

po error  
<CKError 0x1c464cea0: "Network Unavailable" (3/NSURLErrorDomain:-1009); "The Internet connection appears to be offline.">  

po error.localizedDescription  
"The operation couldn’t be completed. (CKErrorDomain error 3.)"  

po (error as! CKError).errorUserInfo  
? 2 elements  
  ? 0 : 2 elements  
    - key : "NSUnderlyingError"  
    - value : Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo={NSErrorFailingURLStringKey=https:/  
  ? 1 : 2 elements  
    - key : "NSDebugDescription"  
    - value : NSURLErrorDomain: -1009  



po (error …
Run Code Online (Sandbox Code Playgroud)

nserror ios swift cloudkit ckerror

5
推荐指数
1
解决办法
425
查看次数

辅助功能将焦点设置为导航栏标题项

概述:

我想将可访问性焦点设置为导航栏的标题项。

默认情况下,焦点是从左上角设置的,这意味着后退按钮将处于焦点上。

我希望标题项目成为焦点。

迄今为止的尝试:

    UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification,
                                    navigationController?.navigationBar.items?.last)
Run Code Online (Sandbox Code Playgroud)

问题:

  • 上面的代码没有区别,返回按钮仍然是焦点。

可能的原因:

  • 无法获取到title对应的item才能设置焦点。

ios uiaccessibility swift

5
推荐指数
1
解决办法
3369
查看次数