Этот ответ не выглядит как конкретный для обратного вызова как ответ Мартина R , но может быть полезным ...
Обычно вы можете передать значение любого типа небезопасному указателю void с помощью оператора &
:
func baz(p: UnsafeMutablePointer) -> String {
return "\(p)"
}
var num = 5
print(baz(&num))
Однако, чтобы пройти self
, вам нужно сделать это в контексте, где self
является изменяемым. Это означает, что вам нужно сделать это в методе мутации (или init
) типа значения, а не в качестве ссылочного типа:
struct FooValue {
mutating func bar() {
print(baz(&self))
}
}
var myFooValue = FooValue()
myFooValue.bar()
Если вы хотите использовать ссылочный тип, вы 'нужно создать локальную копию ссылки и передать указатель на это:
class FooReference {
func bar() {
var localSelf = self
print(baz(&localSelf))
}
}
let myFooReference = FooReference()
myFooReference.bar()
Я тоже столкнулся с этим, и мне удалось получить согласованную высоту в разных браузерах с использованием vh
единиц в CSS, например max-height: 5vh;
, как в 5% от высоты просмотра.
Попробуйте добавить атрибуты ширины и высоты к вашему img
. Также установите естественные размеры в вашем HTML, чтобы помочь рендерить браузер.
HTML
<img src="img/mywine/2high.png" width="123px" height="123px">
CSS
img{
max-width: 100%
height: auto;
}
height: 20%; top: (50-20/2)%
. Я использую только 3 идентификатора, потому что знаю, что будет только один из них в DOM. В чем преимущество использования классов? Я понял, в чем проблема, и отправил ответ.
– dcastro
28 January 2013 в 06:34