В Swift 4.1 и Xcode 9.4.1
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
if UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiom.pad {
return 75.0
} else {
return 50.0
}
}
Вот попытка наследования класса из CookieJar, который переопределяет getstate / setstate, используемый pickle. Я не использовал cookieJar, поэтому не знаю, можно ли его использовать, но вы можете сделать дамп производного класса
from cPickle import dumps
from cookielib import CookieJar
import threading
class MyCookieJar(CookieJar):
def __getstate__(self):
state = self.__dict__.copy()
del state['_cookies_lock']
return state
def __setstate__(self, state):
self.__dict__ = state
self._cookies_lock = threading.RLock()
class Person(object):
def __init__(self, name):
self.name = name
self.cookies = MyCookieJar()
bob = Person("bob")
print dumps(bob)
CookieJar
не особенно хорошо спроектирован для сохранения (именно для этого в основном предназначены подклассы FileCookieJar
! -), но вы можете перебирать экземпляр CookieJar
, чтобы получить все файлы cookie (и, например, сохранить их список), и, чтобы перестроить банку с учетом файлов cookie, используйте set_cookie
на каждом . Вот как я бы занялся сохранением и непостоянством jar-файлов cookie, используя метод copy_reg
для регистрации соответствующих функций, если мне нужно было часто их использовать.