
Swift和Objective-C共用一套运行时环境,Swift的类型可以桥接到 Objective-C (下面我简称OC),反之亦然
其次就是, OC之前的积累的很多类库,在Swift中大部分依然可以直接使用 ,当然,Swift3之后,一些语法改变了很多,不过还是有迹可循的。OC出现过的绝大多数概念,比如引用计数、ARC、属性、协议、接口、初始化、扩展类、命名参数、block等,在Swift中继续有效(可能最多换个术语)。Swift大多数概念与OC一样。当然Swift也多出了一些新兴概念,这些在OC中是没有的,比如泛型、元组。
但是:现阶段Swift能完全取代Objective-C吗?
答案是还不行。
其实到现在为止Swift离完全替代Objective-C还是很遥远,因为Apple内部一直在用 Objective-C 来做一些Framework的开发,底层也不可能用Swift实现,所以现在更多的替代是体现在外部开发。
Objective-C中循环引用也是遇到比较多的,一不小心就会导致循环引用,甚至导致内存问题
Swift
Objective-C
1,根目录下config.php中定义了数据库信息:// DB
define('DB_DRIVER', 'mysqli')
define('DB_HOSTNAME', 'localhost')
define('DB_USERNAME', 'root')
define('DB_PASSWORD', 'qqqq')
define('DB_DATABASE', 'qqqq')
define('DB_PORT', '3306')
define('DB_PREFIX', 'oc_')
2,system>library文件夹下db.php中定义了DB类,数据库的连接方法
$this->db = new $class($hostname, $username, $password, $database, $port)
3,index.php中初始化数据库连接
$db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE, DB_PORT)
4,controller中调用model层定义的查询函数
$layout_id = $this->model_catalog_category->getCategoryLayoutId(end($path))
5,model层getCategoryLayoutId函数中返回查询sql结果
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category_to_layout WHERE category_id = '" . (int)$category_id . "' AND store_id = '" . (int)$this->config->get('config_store_id') . "'")
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)