所以我在我的故事板中创建了一个ViewControl,它有3个子视图.每个代表我想要显示的不同视图,具体取决于在前一个屏幕(NavControl)上选择的表行.我首先检查通过Attributes Inspector的"hidden"属性隐藏的所有子视图.每个视图中的所有对象都不是隐藏的,而是被隐藏的,因为子视图本身是隐藏的(显然).以为我可以使用tag属性我给了三个子视图中的每个子标签一个标签(0,1和2),但无法弄清楚如何使用它(以防万一这对我来说是有用的如何做到这一点我想在这里提到它.
那么,我如何显示然后隐藏这些子视图?我不想在子视图中浏览每个对象并将其隐藏属性切换为true/false我觉得我应该能够"显示/隐藏"整个子视图.从而实现了相同的结果,但更为简洁.
我无法通过网络搜索或stackoverflow搜索找到任何可以帮助我的内容.
我的代码非常简单.我捕获在上一个屏幕中选择的行,并将其传递给包含子视图的详细信息屏幕上的变量.我知道这是有效的,因为我在详细信息屏幕viewDidLoad函数上设置了println().所以现在我所要做的就是进入每个条件并告诉它显示和/或隐藏哪个子视图.
谢谢,我感谢所有这些社区的帮助!没有它,我会迷失方向.
我正在尝试学习如何使用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时,调试区域显示:
[Allocator] Middle guard protection failed %d
[Allocator] Allocator invalid, falling back to malloc
Run Code Online (Sandbox Code Playgroud)
它显示第二行总共30次.我不知道它意味着什么或如何解决它.当我构建模拟器时,它没有显示这一点.
我在使用故事板和恢复ID来使状态保存工作时遇到问题,我感觉这与内存问题有关,因此它会丢弃我的内存,因此我没有恢复应用程序.基本上,当我回到我的应用程序时,它会向我显示我在一秒钟的最后一个屏幕,然后返回到根页面.
无论如何,我想修复这个malloc的东西,所以我至少可以把它排除在罪魁祸首之外,而且我不想在一般情况下遇到内存问题......
我现在也在谷歌上搜索了几个星期而且找不到任何东西!
所以,我正在试图弄清楚如何监控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) 编辑以简化我的问题...
我是 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) 因此,昨天我将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很快就会问世。
请帮忙!
在我的应用程序中,我有一个计时器。当用户启动计时器时,它会播放铃声音频剪辑。此音频剪辑会响起(共鸣)几秒钟。用户可以随时重新启动计时器,当他们这样做时,它应该再次播放铃声音频剪辑。
发生的情况是,如果在轻按重新启动时铃音仍在播放,则由于这种重叠,它不会再次播放铃音。我认为将代码添加到 .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)