小编Ash*_*lls的帖子

当app处于后台状态Swift时暂停计时器

我的ViewController.swift

func startTimer() {
    timer = NSTimer().scheduleTimerWithTimerInvterval(1.0,target: self,selctor: Selector("couting"),userinfo: nil, repeats: true)
}

func pauseTimer() {
    timer.invalidate()
    println("pausing timer")
}
Run Code Online (Sandbox Code Playgroud)

这是appDelegate.swift

func applicateWillResignActive(application: UIApplication) {
    viewController().pauseTimer()
    println("closing app")
}
Run Code Online (Sandbox Code Playgroud)

它是打印暂停计时器和关闭应用程序,但当我再次打开时,我看到它从未暂停.我该怎么做?

nstimer ios appdelegate swift

9
推荐指数
2
解决办法
9663
查看次数

CocoaPods - 使用Xcode-beta为iOS 9/Swift 2构建

我有一个"CocoaPod"(术语?),目前版本为1.1.

还有一个repo 的开发分支需要Swift 2.0(因此需要IOS 9.0的基本SDK)和PodSpec,如下所示:

Pod::Spec.new do |s|
  s.name         = 'ReachabilitySwift'
  s.version      = '2.0-beta1'
  s.homepage     = 'https://github.com/ashleymills/Reachability.swift'
  s.authors      = {
    'Ashley Mills' => 'ashleymills@mac.com'
  }
  s.summary      = 'Replacement for Apple\'s Reachability re-written in Swift with callbacks.'
  s.license      = { :type => 'MIT' }

# Source Info
  s.ios.platform = :ios, "9.0"
  s.osx.platform = :osx, "10.11"
  s.ios.deployment_target = "8.0"
  s.osx.deployment_target = "10.9"
  s.source       =  {
    :git => 'https://github.com/ashleymills/Reachability.swift.git',
    :branch => 'develop',
    :tag => 'v'+s.version.to_s
  }
  s.source_files = 'Reachability.swift'
  s.framework    = …
Run Code Online (Sandbox Code Playgroud)

beta cocoapods ios9 xcode7 swift2

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

使用estimatedItemSize删除项目时,UICollectionView单元格会调整大小

我有一个简单的项目,其故事板只包含一个单独的a UICollectionViewController,使用Xcode 7.1.1 for iOS 9.1构建

class ViewController: UICollectionViewController {

    var values = ["tortile", "jetty", "tisane", "glaucia", "formic", "agile", "eider", "rooter", "nowhence", "hydrus", "outdo", "godsend", "tinkler", "lipscomb", "hamlet", "unbreeched", "fischer", "beastings", "bravely", "bosky", "ridgefield", "sunfast", "karol", "loudmouth", "liam", "zunyite", "kneepad", "ashburn", "lowness", "wencher", "bedwards", "guaira", "afeared", "hermon", "dormered", "uhde", "rusher", "allyou", "potluck", "campshed", "reeda", "bayonne", "preclose", "luncheon", "untombed", "northern", "gjukung", "bratticed", "zeugma", "raker"]

    @IBOutlet weak var flowLayout: UICollectionViewFlowLayout!
    override func viewDidLoad() {
        super.viewDidLoad()        
        flowLayout.estimatedItemSize = CGSize(width: 10, height: 10) …
Run Code Online (Sandbox Code Playgroud)

ios autolayout uicollectionview swift

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

Swift 3:检查Internet(Reocurring)viewDidAppear not

好吧,所以我对Swift很新,我对我要做的事情有点困惑,或者我是否朝着错误的方向前进.(https://github.com/ashleymills/Reachability.swift)

这是我的viewDidLoad方法:

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    checkConnection()

}
Run Code Online (Sandbox Code Playgroud)

然后,我从Reachability GitHub项目中获得了一个带有代码的函数:

func checkConnection() {
    //declare this property where it won't go out of scope relative to your listener
    let reachability = Reachability()!

    reachability.whenReachable = { reachability in
        // this is called on a background thread, but UI updates must
        // be on the main thread, like this:
        DispatchQueue.main.async {
            if reachability.isReachableViaWiFi {
                print("Reachable …
Run Code Online (Sandbox Code Playgroud)

reachability ios swift reachability-swift

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

Python中的"\ N {SPECIAL CHARACTER}"来自哪里?

我遇到了一些urwid 教程,其中包含一个代码示例如下:

...
main = urwid.Padding(menu(u'Pythons', choices), left=2, right=2)
top = urwid.Overlay(main, urwid.SolidFill(u'\N{MEDIUM SHADE}'),
    align='center', width=('relative', 60),
    valign='middle', height=('relative', 60),
    min_width=20, min_height=9)
urwid.MainLoop(top, palette=[('reversed', 'standout', '')]).run()
Run Code Online (Sandbox Code Playgroud)

这个u'\N{MEDIUM SHADE}'字符串文字让我疯了几乎整整一天,直到我发现它被包括在内 - 作为评论!- 在/usr/lib/python3.5/encodings/... 下的文件中但我没有找到任何关于使用这种表示法的提示.我浏览了Python文档,却什么都找不到.

出于好奇,我在我的python解释器中运行:

print(u'\N{LOWER ONE QUARTER BLOCK}')
Run Code Online (Sandbox Code Playgroud)

我得到了

?
Run Code Online (Sandbox Code Playgroud)

那种黑魔法来自哪里?我的意思是,在哪里解释一个人可以使用...符号(?)使用他们友好的名字打印出特殊字符?Python会隐藏像这样的其他惊喜吗?

python special-characters string-literals

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

在 SwiftUI 中使用aspectRatio 的方形文本

我正在尝试使用 Swift UI\xe2\x80\xa6 实现以下布局

\n\n

在此输入图像描述

\n\n
struct ContentView : View {\n    var body: some View {\n        List(1...5) { index  in\n\n            HStack {\n                HStack {\n                    Text("Item number \\(index)")\n                    Spacer()\n                    }.padding([.leading, .top, .bottom])\n                    .background(Color.blue)\n\n                Text("i")\n                    .font(.title)\n                    .italic()\n                    .padding()\n                    .aspectRatio(1, contentMode: .fill)\n                    .background(Color.pink)\n\n                }.background(Color.yellow)\n        }\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我希望是Text("i")正方形的,但是设置.aspectRatio(1, contentMode: .fill)似乎没有任何作用\xe2\x80\xa6

\n\n

在此输入图像描述

\n\n

我可以设置文本的框架宽度和高度,使其成为正方形,但似乎设置长宽比应该以更动态的方式实现我想要的效果。

\n\n

我缺少什么?

\n

swiftui

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

StoreKit2 Transaction.currentEntitlements 不返回自动续订

如何返回Transaction.currentEntitlements应用程序关闭时发生的订阅自动续订交易?


我已经在 macOS 应用程序中实现了自动续订订阅。

我有一个可以在和StoreManager上创建听众的Transaction.currentEntitlementsTransaction.updates

如果在应用程序运行时续订订阅,Transaction.updates则会按预期接收最新交易。

但是,当应用程序未运行时自动发生续订时,重新打开应用程序时Transaction.currentEntitlements不会返回续订交易。

按照以下步骤进行重现:

  • 启动应用程序并购买自动续订订阅
  • 杀死该应用程序
  • 等待订阅到期自动续订(测试时可以设置每月30秒续订)
  • 重新启动应用程序
  • Transaction.currentEntitlements什么也不返回。

在应用程序启动时检查StoreKit Transactions调试窗口,应用程序关闭时发生的续订交易显示为“未完成”。

在此输入图像描述

未完成的交易是指未返回的交易。

如果在应用程序运行时再次续订订阅,则会Transaction.updates触发侦听器,并返回新的续订以及任何未完成的事务。

这是来自的相关代码StoreManager

@MainActor
class StoreManager: ObservableObject {
    
    var updates: Task<Void, Never>? = nil
    var transactions: Task<Void, Never>? = nil

    init() {
        updates = updatesListenerTask()
        transactions = transactionsListenerTask()
    }

    @Published private (set) var transaction: StoreKit.Transaction?
    
    func updatesListenerTask() -> Task<Void, Never> {
        Task.detached(priority: .background) {
            for …
Run Code Online (Sandbox Code Playgroud)

storekit swift storekit2

8
推荐指数
0
解决办法
1612
查看次数

我如何使用极乐世界项目?

CodePlex上的Elysium项目看起来很有趣.一个问题.我无法弄清楚如何使用它.我只能假设用户知道他或她在做什么.我显然不是.我从这里下载Debug Binary .它有一个用于加载文件的批处理文件,它看起来运行没有错误.但我无法弄清楚从哪里开始.当我打开Blend时,我看不到任何模板或主题.有人可以帮忙吗?

谢谢

c# wpf themes expression-blend

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

UICollectionViewController布局到布局导航转换

我正在研究多个UICollectionViewControllers,它们都以不同的布局显示相同的内容.

根据Apple的CollectionViewTransition示例应用程序和WWDC 2013的Session 218,UICollectionViewController有一个叫做的属性useLayoutToLayoutNavigationTransitions,它基本上通过插入'from'和'to'集合视图的布局来处理导航过渡.

我们假设我有两个UICollectionViewControllers名为MasterCollectionViewControllerDetailCollectionViewController.当我从MasterCollectionViewController推送DetailCollectionViewController时,布局已正确更改,但集合视图仍使用MasterCollectionViewController中声明的数据源.

这对我来说是一个问题,因为在每个UICollectionViewControllers中,我需要重新排列节/项配置.我尝试做的一个很好的例子是iOS 7上的Photos应用程序.该应用程序的第一个选项卡有三个视图控制器:年份,集合和时刻.这些视图控制器都显示相同的内容:照片.每个视图控制器之间的区别在于照片在节中的分组方式.部分分组是UICollectionViewDataSource这里的一个问题.

如果useLayoutToLayoutNavigationTransitions我遇到的财产行为是正常行为,有没有办法以不同的方式实现我的目标?

任何帮助或评论将不胜感激.

谢谢!

navigation transitions ios uicollectionview

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

Swift Codable协议...编码/解码NSCoding类

我有以下结构......

struct Photo: Codable {

    let hasShadow: Bool
    let image: UIImage?

    enum CodingKeys: String, CodingKey {
        case `self`, hasShadow, image
    }

    init(hasShadow: Bool, image: UIImage?) {
        self.hasShadow = hasShadow
        self.image = image
    }

    init(from decoder: Decoder) throws {
        let container = try decoder.container(keyedBy: CodingKeys.self)
        hasShadow = try container.decode(Bool.self, forKey: .hasShadow)

        // This fails
        image = try container.decode(UIImage?.self, forKey: .image) 
    }

    func encode(to encoder: Encoder) throws {
        var container = encoder.container(keyedBy: CodingKeys.self)
        try container.encode(hasShadow, forKey: .hasShadow)

        // This also fails
        try …
Run Code Online (Sandbox Code Playgroud)

nscoding swift swift4 codable

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