Swift基础--调用第三方OC项目
2016-09-12 16:07
281 查看
第一步:创建和配置Bridging-Header.h
Swift与OC进行混编,首先要有一个.h文件,这里使用Bridging-Header.h然后设置项目的Build Settings--Swift Compiler--Objective-C Bridging Header内容为DemoApp/Bridging-Header.h,这个与Bridging-Header.h位置有关,从项目的根目录开始在Objective-CBridging Header选项里面写入Bridging-Header.h相对路径。
第二步:第三方项目依赖
对于第三方项目的依赖,一开始我打算用CocoaPods,但是过程曲折,最后一直报[objc] view
plain copy
<span style="font-size:14px;">ld: 218 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)</span>
我也没有办法了就把第三方项目源码拷贝到自己的项目里面,上图也可以看到我拷贝的事AFNetworking项目,然后在把源码加入到Build
Phases--Compile Sources里面
第三步:修改Bridging-Header.h
在Bridging-Header.h中写入#import "AFNetworking.h"
第四步:调用OC
前面的工作做完后我们就可以调用第三方项目的功能了[objc] view
plain copy
//
// ViewController.swift
// DemoApp
//
// Created by jiezhang on 14/10/24.
// Copyright (c) 2014年 jiezhang. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var weatherInfo: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
updateWeatherInfo()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func updateWeatherInfo() {
let manager = AFHTTPRequestOperationManager()
let url = "http://api.openweathermap.org/data/2.5/weather"
println(url)
let params:NSDictionary = ["lat":"37.785834", "lon":"-122.406417", "cnt":0]
println(params)
manager.GET(url,
parameters: params,
success: { (operation: AFHTTPRequestOperation!,
responseObject: AnyObject!) in
self.weatherInfo.text = "JSON: " + responseObject.description!
},
failure: { (operation: AFHTTPRequestOperation!,
error: NSError!) in
self.weatherInfo.text = "Error: " + error.localizedDescription
})
}
<p>}</p>
第五步:运行界面
相关文章推荐
- Swift基础--调用第三方OC项目
- Swift基础--调用第三方OC项目
- Swift调用第三方OC项目
- Swift开发:Swift项目调用OC代码
- 关于用OC创建的项目调用swift代码
- swift基础学习(06)[必要构造器,可空链式调用,错误处理,类型转换]
- swift调用object-c项目遇到的问题与解决方法
- swift调用oc项目
- swift项目中,OC和swift文件相互调用
- 零基础Swift实战开发从入门到精通(4大项目实战、酷跑熊猫、百度音乐、足球游戏等)
- Swift基础(八):析构过程、ARC、强弱引用、可空链式调用等
- day52_安卓项目开发基础JNI与底层调用
- 使用Swift开发IOS项目、UI创建、方法调用
- Swift3.0 在OC中调用swift方法 #import "项目名-Swift.h"失效问题
- Swift - 调用系统拨号功能 项目亲测。
- Swift基础之Swift调用OC语言文件使用步骤
- iOS开发笔记(Swift)-针对Swift调用PPiFlatSegmentedControl项目的一些修改
- 用Swift重写公司OC项目(Day2)--创建OC与Swift的桥接文件,进而调用OC类库
- Swift基础之OC文件调用Swift代码(在上次的基础上写的)