小编jam*_*n34的帖子

如何使用swift显示和/或隐藏子视图

所以我在我的故事板中创建了一个ViewControl,它有3个子视图.每个代表我想要显示的不同视图,具体取决于在前一个屏幕(NavControl)上选择的表行.我首先检查通过Attributes Inspector的"hidden"属性隐藏的所有子视图.每个视图中的所有对象都不是隐藏的,而是被隐藏的,因为子视图本身是隐藏的(显然).以为我可以使用tag属性我给了三个子视图中的每个子标签一个标签(0,1和2),但无法弄清楚如何使用它(以防万一这对我来说是有用的如何做到这一点我想在这里提到它.

那么,我如何显示然后隐藏这些子视图?我不想在子视图中浏览每个对象并将其隐藏属性切换为true/false我觉得我应该能够"显示/隐藏"整个子视图.从而实现了相同的结果,但更为简洁.

我无法通过网络搜索或stackoverflow搜索找到任何可以帮助我的内容.

我的代码非常简单.我捕获在上一个屏幕中选择的行,并将其传递给包含子视图的详细信息屏幕上的变量.我知道这是有效的,因为我在详细信息屏幕viewDidLoad函数上设置了println().所以现在我所要做的就是进入每个条件并告诉它显示和/或隐藏哪个子视图.

谢谢,我感谢所有这些社区的帮助!没有它,我会迷失方向.

uiview ios swift

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

如何更新realm swift中的对象

我正在尝试学习如何使用Realm Swift和Charts,这样我最终可以在我正在构建的应用程序中使用它们,而且我有一段时间搞清楚Realm.最终我打算让Charts查看我的Realm DB,然后根据数据显示图表,但在我这样做之前,我需要检查一下领域对象是否存在,如果不存在,则需要创建然后当用户使用应用程序时,将"计数"添加到该记录并相应地更新图表.

在我学习的过程中,我已将其分解为步骤.我已经弄清楚如何检查是否存在记录,如果不是这样构建它:

我的境界模型:

class WorkoutsCount: Object{    
    dynamic var date: Date = Date()
    dynamic var count: Int = Int(0)
}

// function to check if this weeks days have been created in Realm DB yet and creates them if not
    let realm = try! Realm()
    lazy var workouts: Results<WorkoutsCount> = { self.realm.objects(WorkoutsCount.self)}()
    let startOfWeekDate = Date().startOfWeek(weekday: 1)
    let nextDay = 24 * 60 * 60

    // checks the DB to see if it contains the start of this week …
Run Code Online (Sandbox Code Playgroud)

iphone realm swift3

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

中卫防护失败%d是什么意思?

当我将我的应用程序构建到我的实际iPhone时,调试区域显示:

[Allocator] Middle guard protection failed %d
[Allocator] Allocator invalid, falling back to malloc
Run Code Online (Sandbox Code Playgroud)

它显示第二行总共30次.我不知道它意味着什么或如何解决它.当我构建模拟器时,它没有显示这一点.

我在使用故事板和恢复ID来使状态保存工作时遇到问题,我感觉这与内存问题有关,因此它会丢弃我的内存,因此我没有恢复应用程序.基本上,当我回到我的应用程序时,它会向我显示我在一秒钟的最后一个屏幕,然后返回到根页面.

无论如何,我想修复这个malloc的东西,所以我至少可以把它排除在罪魁祸首之外,而且我不想在一般情况下遇到内存问题......

我现在也在谷歌上搜索了几个星期而且找不到任何东西!

ios7 xcode5

14
推荐指数
1
解决办法
1309
查看次数

如何使用swift监控电池电量和状态变化

所以,我正在试图弄清楚如何监控iOS设备中的电池电量和状态变化.

到目前为止,我已经确定了如何获得当前的电池电量,但无法弄清楚如何获得状态或如何监控任何更改,所以我可以弹出一个对话框(或通知,但我想我无法监控这个在背景中无论如何......)当100%充电时.

这是我到目前为止:

@IBOutlet var BatteryLevelLabel: UILabel!
@IBOutlet var BatteryStateLabel: UILabel!

// function to return the devices battery level
    func batteryLevel()-> Float {
        return UIDevice.currentDevice().batteryLevel
    }

// function to return the devices battery state (Unknown, Unplugged, Charging, or Full)
    func batteryState()-> UIDeviceBatteryState {
        return UIDevice.currentDevice().batteryState
    }

override func viewDidLoad() {
        super.viewDidLoad()

         let currentBatteryLevel = batteryLevel()

        // enables the tracking of the devices battery level
        UIDevice.currentDevice().batteryMonitoringEnabled = true

        // shows the battery level on labels
        BatteryLevelLabel.text = "\(batteryLevel() * 100)%)"
        BatteryStateLabel.text …
Run Code Online (Sandbox Code Playgroud)

ios swift

10
推荐指数
2
解决办法
8508
查看次数

如何快速查询特定对象的领域

编辑以简化我的问题...

我是 Realm 的新手,到目前为止,它非常酷,但是我很难弄清楚如何查询我的 Realm 数据库以检查其中是否存在特定项目。

这是我的领域模型:

import Foundation
import RealmSwift

class ChartCount: Object{

    dynamic var date: Date = Date()
    dynamic var count: Int = Int(0)
}
Run Code Online (Sandbox Code Playgroud)

在我的主 ViewController 中,我使用以下函数存储了本周 7 天的一系列 ChartCount 对象:

// function to check if this weeks days have been created in Realm DB yet and creates them if not
    let realm = try! Realm()
    lazy var visitors: Results<VisitorCount> = { self.realm.objects(VisitorCount.self)}()
    let startOfWeekDate = Date().startOfWeek(weekday: 1)
    let nextDay = 24 * 60 * 60

    var …
Run Code Online (Sandbox Code Playgroud)

realm ios swift3

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

线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x48)-与iOS13.1(开发版本2)一起损坏

因此,昨天我将iPhone 6S更新为iOS13.1的第​​二个开发版本,突然间我的应用程序(在应用程序商店中显示为0崩溃显示在Connect应用程序上)在我的设备上运行时不起作用。但是,它确实可以在Xcode的模拟器中使用。我使用的是Xcode 10.3,但Xcode 11 Beta的功能相同,模拟器也可以在Beta上运行(尽管它们以其他方式破坏了我的应用程序)。

当我点击一个按钮时,应该使我进入所点击按钮的详细视图,但我收到此错误:

Thread 1: EXC_BAD_ACCESS (code=1, address=0x48)
Run Code Online (Sandbox Code Playgroud)

这段代码在哪

// sets up the audio for use in the app --------------------------------------------------------------//
        let GetReady = Bundle.main.path(forResource: “Get_Ready_up9db”, ofType: “m4a”)
        // this tells the compiler what to do when action is received
        do {
            audioPlayer_GetReady = try AVAudioPlayer(contentsOf: URL(fileURLWithPath: GetReady! )) // Thread 1: EXC_BAD_ACCESS (code=1, address=0x48)
            try AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category(rawValue: convertFromAVAudioSessionCategory(AVAudioSession.Category.ambient)))
            try AVAudioSession.sharedInstance().setActive(true)
        }
        catch{
            print(error)
        }
Run Code Online (Sandbox Code Playgroud)

我不知道为什么突然这么做,但是因为我不知道为什么,我有点害怕,因为我确定iOS 13很快就会问世。

请帮忙!

iphone swift5 ios13

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

如何真正停止快速播放音频

在我的应用程序中,我有一个计时器。当用户启动计时器时,它会播放铃声音频剪辑。此音频剪辑会响起(共鸣)几秒钟。用户可以随时重新启动计时器,当他们这样做时,它应该再次播放铃声音频剪辑。

发生的情况是,如果在轻按重新启动时铃音仍在播放,则由于这种重叠,它不会再次播放铃音。我认为将代码添加到 .stop() 它然后 .play() 它再次可以做到这一点,但它没有用。相反,重新启动按钮似乎就像一个暂停/播放按钮,当您点击按钮时,您可以听到铃声音频剪辑的共鸣。

我想我需要某种方法来“清除”来自 AVAudioPlayer() 的任何播放音频,但我不知道如何做到这一点(搜索互联网也没有帮助)。

这是我的代码:

@IBAction func RestartTimerBtn(_ sender: Any) {

        timer.invalidate() // kills the past timer so it can be restarted

        // stop the bell audio so it can be played again (usecase: when restarting right after starting bell)
        if audioPlayer_Bell.isPlaying == true{
            audioPlayer_Bell.stop()
            audioPlayer_Bell.play()
        }else {
            audioPlayer_Bell.play()
        }
    }
Run Code Online (Sandbox Code Playgroud)

avaudioplayer ios swift

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

标签 统计

ios ×4

swift ×3

iphone ×2

realm ×2

swift3 ×2

avaudioplayer ×1

ios13 ×1

ios7 ×1

swift5 ×1

uiview ×1

xcode5 ×1