我有一个集合视图,每个单元格都有一个textView.这是我的textview约束设置
textView.topAnchor.constraint(equalTo: object1.bottomAnchor).isActive = true
textView.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
Run Code Online (Sandbox Code Playgroud)
...我的textView的宽度和高度.
现在,由于if条件,我想将textView的topAnchor更改为object 2 bottom anchor而不是object 1 bottom anchor.但是,当我输入下面的代码时,我会通过破坏约束错误来尝试恢复.
一旦它已经设置,有没有人知道改变顶部锚的方法?
if (aCondition){
textView.topAnchor.constraint(equalTo: object2.bottomAnchor).isActive = true
}else{
textView.topAnchor.constraint(equalTo: object1.botttomAnchor).isActive = true
}
Run Code Online (Sandbox Code Playgroud) 我有一个字符串数组
let stringObjectIdArray = ['fssdlfsd343','43434234242','342424242']
Run Code Online (Sandbox Code Playgroud)
并且我想通过使用猫鼬类型将字符串数组更改为对象ID数组,但是没有用。它仅适用于字符串,而不适用于数组类型。
let objectIdArray = mongoose.Types.ObjectId(stringObjectIdArray)
// above will give error
Run Code Online (Sandbox Code Playgroud)
在这种情况下,有什么办法可以帮助我吗?非常感谢您对我的帮助!
我有一个MainCollectionView用于在项目之间滚动,在这些单元格之一的内部,我还有一个带有单元格的collectionView。在该集合视图中,每个单元格都有一个按钮。我的问题是在点击时如何将按钮的动作传递给MainCollectionView?我确实在单元格中为该按钮创建了协议,但是我不知道如何在点击按钮时让MainCollectionView知道。我可以从单元格类中调用动作,但我认为最好在作为MainCollectionView的Model中运行它。以下是我的按钮协议。
protocol ThanhCaHotTracksCellDelegate: class {
func handleSeeAllPressed()}
weak var delegate: ThanhCaHotTracksCellDelegate?
@objc func handleSeeAllButton(){
delegate?.handleSeeAllPressed()
}
Run Code Online (Sandbox Code Playgroud) 我想要一个枚举,它可以采用一个 Integer 值并使用它来确定与它关联的情况并返回图像。下面是我想要实现的东西,但我不太知道如何实现它。非常感谢您的帮助!
enum Icon (input: Int) {
//use input value to check which case need to return image name
case 0...100
case 101...200
case 201+
var image: UIImage {
switch self {
case .0...100: return UIImage(named: "plane.png")!
case .101...200: return UIImage(named: "arrow.png")!
case .201+: return UIImage(named: "logo.png")!
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试以这种格式显示字符串
x day, y hr, z min
Run Code Online (Sandbox Code Playgroud)
其中x,y,z是来自用户和用户的Int值,如果日期和hr为0,则需要至少发送5分钟.
这是我处理显示用户输入的函数
func pickerTimeShow(day: Int, hour: Int, minutes: Int) -> String {
if day > 0 {
return "\(day) day, \(hour) hr, \(minutes) min"
}
if hour > 0 {
return "\(hour) hr, \(minutes) min"
}
return "\(minutes) min"
}
Run Code Online (Sandbox Code Playgroud)
但是,如果用户发送pickerTimeShow(day:0,hour:2,minutes:0),我的字符串将显示
2 hr, 0 min
Run Code Online (Sandbox Code Playgroud)
这不是主意,因为它假设只是显示
2 hr
Run Code Online (Sandbox Code Playgroud)
此外,如果用户发送pickerTimeShow(day:5,hour:0,minutes:5),我的字符串将显示
5 day, 0 hr, 5 min
Run Code Online (Sandbox Code Playgroud)
但我只是想要
5 day, 5 min
Run Code Online (Sandbox Code Playgroud)
你有一个简单的解决方案来处理这种情况吗?除了添加更多if语句来检查哪个使我的函数真的很长,我真的想不出别的什么.非常感谢.