我想在preferredStatusBarStyle
的扩展名中覆盖UIViewController
,如下所示:
extension UIViewController {
open override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
}
编译器抛出此错误Getter for 'preferredStatusBarStyle' with Objective-C selector 'preferredStatusBarStyle' conflicts with method 'preferredStatusBarStyle()' with the same Objective-C selector
将同一覆盖应用于UINavigationController
代替UIViewController
;但preferredStatusBarStyle是一个由UIViewController继承的var。
- >为什么可以将此扩展程序应用于UINavigationController
,而不是UIViewController
答案 0 :(得分:4)
你不能通过引入属性的类中的 Swift 中的扩展以这种方式覆盖(重新声明实现)已经实现的属性。
你绝对应该创建一个UIFont
子类,而是在应用程序范围内使用它。
然而,有一个选择。您可以使用 Objective-C 覆盖此项,方法是提供一个扩展类别,类似的内容适用于此处回答的namespace App\Vertica;
include 'clsPDOVertica.php';
use Illuminate\Support\Arr;
use \Illuminate\Database\Connectors\Connector as BaseConnector;
class Connector extends BaseConnector
{
/**
* Create a new PDO connection.
*
* @param string $dsn
* @param array $config
* @param array $options
* @return \PDO
*/
public function createConnection($dsn, array $config, array $options)
{
$username = Arr::get($config, 'username');
$password = Arr::get($config, 'password');
return new PDOVertica($dsn, $username, $password, $options);
}
}
:Is there a way to change default font for your application。然而,这样做并不是完全安全的,你应该在不够小心的情况下期待独角兽。