`
haoningabc
  • 浏览: 1476415 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ios的helloworld 2

    博客分类:
  • ios
ios 
阅读更多
参考视频:
www.imooc.com/learn/149
Swift Weather app
使用xcode6_beta
1.create a new xcode project
single View Application
language选swift
选下面匹配iphone w为compact
如果删掉viewController新建的时候一定要右边第三个
CostumClass 的class选ViewController

拖拽两个label和一个ImageView
关掉xcode
2. 到项目目录下创建Podfile
➜  first git:(master) ✗ cat ../hello/Podfile
platform :ios,'7.0'
pod 'AFNetworking'

pod install
如果pod没安装
sudo gem install cocoapods

open .
发现多了一个工程文件
用xcode打开,pod就引用AFNetworking了

3 . supporting files
下面的info.plist加两个变量
NSLocationAlwaysUsageDescription  我们需要使用你的地理位置
NSLocationUsageDescription 我们需要使用你的地理位置

4. 新建头文件
为了swift调用objective-c的代码
SwiftWeather-Bridging-Header.h
内容为
#import <AFNetWorking/AFNetWorking.h>

并点项目
build Setting中
搜bridging
Objective-C Bridging Header
设置为
first/SwiftWeather-Bridging-Header.h

5 .ViewController.swift
内容为
//
//  ViewController.swift
//  first
//
//  Created by xiao7 on 14-9-9.
//  Copyright (c) 2014年 killinux. All rights reserved.
//

import UIKit
import CoreLocation

class ViewController: UIViewController ,
    CLLocationManagerDelegate{
    let locationManager:CLLocationManager = CLLocationManager()
    override func viewDidLoad() {
        println("aa");
        super.viewDidLoad()
        locationManager.delegate = self
        locationManager.desiredAccuracy = kCLLocationAccuracyBest
        
        self.loadingIndicatorView.startAnimating()
        
        let background = UIImage(named: "tubiao2.png")
        self.view.backgroundColor = UIColor(patternImage:background)
        
        if(ios8()){
            locationManager.requestAlwaysAuthorization()
        }
        locationManager.startUpdatingLocation()

    }
    
    @IBOutlet var location : UILabel
    
    @IBOutlet var temperature : UILabel
    @IBOutlet var icon : UIImageView
    @IBOutlet var loadingIndicatorView : UIActivityIndicatorView
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
  
    func ios8() ->Bool {
        return UIDevice.currentDevice().systemVersion == "8.0"
    }
    func locationManager(manager: CLLocationManager!, didUpdateLocations locations: AnyObject[]!){
        var location:CLLocation = locations[locations.count-1] as CLLocation
        if(location.horizontalAccuracy > 0){
            println(location.coordinate.latitude)
            println(location.coordinate.longitude)
            self.updateWeatherInfo(location.coordinate.latitude,longitude:location.coordinate.longitude)
            locationManager.stopUpdatingLocation()
        }
    }
    func locationManager(manager: CLLocationManager!, didFailWithError error: NSError!){
        println("haoning print error")
        println(error)
    }
    func updateWeatherInfo(latitude:CLLocationDegrees,longitude:CLLocationDegrees){
        let manager = AFHTTPRequestOperationManager()
        let url = "http://api.openweathermap.org/data/2.5/weather"
        //http://api.openweathermap.org/data/2.5/weather?lat=37.8136&lon=144.96&cnt=0
        let params = ["lat":latitude,"lon":longitude,"cnt":0]
        println("-----")
        println(latitude)
        manager.GET(url,
            parameters:params,
            success:{
                (operation:AFHTTPRequestOperation!,responseObject: AnyObject!) in println("JSON: "+responseObject.description!)
                self.updateUISuccess(responseObject as NSDictionary!)
            },
            failure:{
                (operation:AFHTTPRequestOperation!,error:NSError!) in println("Error:" + error.localizedDescription)
            }
            
        )
    }
    func updateUISuccess(jsonResult:NSDictionary!){
        self.loadingIndicatorView.stopAnimating()
        self.loadingIndicatorView.hidden = true
        if let tempResult = jsonResult["main"]?["temp"]? as? Double{
            var thistemperature: Double
            if (jsonResult["sys"]?["country"]? as String == "US"){
                thistemperature = round(((tempResult - 273.15) * 1.8) + 32)
            }else{
                thistemperature = round(tempResult - 273.15)
            }
            println("temperature----->")
            println(thistemperature)
            self.temperature.text = "\(thistemperature)."
            self.temperature.font = UIFont.boldSystemFontOfSize(60)
            
            var name = jsonResult["name"]? as String
            self.location.font = UIFont.boldSystemFontOfSize(25)
            self.location.text = "\(name)"
            println("name----->")
            println(name)
            var condition = (jsonResult["weather"]? as NSArray)[0]?["id"]? as Int
            var sunrise = jsonResult["sys"]?["sunrise"]? as Double
            var sunset = jsonResult["sys"]?["sunset"]? as Double
            
            var nightTime = false
            var now = NSDate().timeIntervalSince1970
            if(now < sunrise || now > sunset){
                nightTime = true
            }
            println("nightTime----->")
            println(nightTime)
            self.updateWeatherIcon(condition,nightTime: nightTime)
        }else{
            
        }
    }
    func updateWeatherIcon(condition: Int, nightTime: Bool){
        
        if nightTime{
            self.icon.image = UIImage(named:"tubiao1")
        }else{
            self.icon.image = UIImage(named:"tubiao2")
        }
    }



}






6. 其中@IBOutlet var location : UILabel
需要
点main.storyboard
按住option 再点ViewController.swift
同时打开两个页面后再
点住control 拖拽 main.storyboard中点标识到ViewController中
  • 大小: 26.1 KB
分享到:
评论

相关推荐

    ios_storyboard_helloworld实例

    本实例“ios_storyboard_helloworld”将指导我们如何利用`Storyboard`来创建一个简单的“Hello, World!”应用。这个基础的教程将涵盖Objective-C编程语言的使用,以及`Storyboard`的核心概念。 1. **Objective-...

    从零开始iOS8编程【HelloWorld】配套代码

    这个名为“从零开始iOS8编程【HelloWorld】配套代码”的资源,显然是为了帮助初学者了解如何在iOS8环境下构建并运行第一个简单的应用程序。这里我们将深入探讨相关知识点。 首先,iOS8是苹果公司推出的移动操作系统...

    iOS开发指南 从Hello World到App Store上架

    iOS开发指南 从Hello World到App Store上架 第4版 。

    IOS开发指南 从HELLO WORLD到APP STORE上架 第5版.pdf.z01

    IOS开发指南 从HELLO WORLD到APP STORE上架 第5版.pdf

    《马上着手开发 iOS 应用程序》-HelloWorld

    这个项目,名为“《马上着手开发 iOS 应用程序》-HelloWorld”,显然是一个针对初学者的官方入门教程,旨在引导新开发者熟悉iOS应用的基础构建和运行流程。 首先,我们要了解iOS开发的主要工具——Xcode。Xcode是...

    Cocos2d-iphone之HelloWorld

    Cocos2d-iphone之HelloWorld

    ios的opencv的helloworld

    这篇博客“ios的opencv的helloworld”可能介绍了如何在iOS应用中引入OpenCV库,并实现一个简单的HelloWorld示例。OpenCV(开源计算机视觉库)是一个强大的工具,用于图像和视频分析、处理以及计算机视觉算法的实现。...

    iOS开发指南 从Hello World到App Store上架 第4版 pdf part2

    iOS开发指南 从Hello World到App Store上架 第4版 pdf part2

    ios helloworld

    在项目配置页面,你需要填写项目的基本信息,如产品名称("HelloWorld")、组织标识符、语言(Swift)以及设备目标(iPhone或iPad)。完成这些设置后,点击"Create"按钮,Xcode会自动生成项目结构。 二、Swift编程...

    goIosHelloWorld:一个 go ios hello world 项目

    go ios hello world 项目要求Mac OS X 自制Xcode 您需要安装有效的 iOS 开发证书。安装 git clone https://github.com/bronze1man/goIosHelloWorldcd goIosHelloWorldbash ./install.bash构建并运行要在 iDevice 上...

    iOS开发指南 从Hello World到App Store上架 第4版 pdf part3

    iOS开发指南 从Hello World到App Store上架 第4版 pdf part3

    IOS入门之HelloWorld源代码

    // Hello World_Code // #import #import "AppDelegate.h" int main(int argc, char *argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); }...

    ios phonegap2.9 helloworld

    这个"ios phonegap2.9 helloworld"项目是一个入门级别的教程,旨在帮助初学者理解如何在iOS平台上使用PhoneGap 2.9版本创建基本的应用程序。PhoneGap 2.9是该框架的一个旧版本,但在当时仍然广泛使用,因此了解其...

    iOS开发指南 从Hello World到App Store上架 第4版 pdf part4

    iOS开发指南 从Hello World到App Store上架 第4版 pdf part4

    ios(iPhone)应用程序开发入门视频教程:第1讲helloworld概述

    在本节“ios(iPhone)应用程序开发入门视频教程:第1讲HelloWorld概述”中,我们将探讨iOS应用开发的基础知识,特别关注初学者如何通过HelloWorld项目开启编程之旅。这节课是整个“iOS(iPhone)应用程序开发入门视频...

    (1)--HelloWorld

    ### Cocos2d-x初探学习笔记:HelloWorld详解 #### Cocos2d-x简介 Cocos2d-x是一款基于C++的开源游戏开发框架,它最初是从Cocos2d移植而来,支持跨平台的游戏开发,包括iOS、Android、Windows等多平台。Cocos2d-x因...

    weex项目helloworld-iOS

    可以加载本地js和服务器端js 需要执行 1、pod install 2、替换sdk目录 3、npm install 文章地址:http://blog.csdn.net/dongyu0729/article/details/52104194

    笨鸟学iOS开发(1)HelloWorld源码

    本文将深入探讨“笨鸟学iOS开发(1)HelloWorld源码”这个主题,帮助初学者理解iOS应用程序的基础构建块。 首先,我们要知道iOS应用的基本架构是基于Cocoa Touch框架,它是由Objective-C或Swift编程语言实现的。在...

    iOS的第一个HelloWorld

    ### iOS的第一个HelloWorld知识点详解 #### 一、iOS应用开发基础概述 - **目标与预期成果**:通过本教程的学习,您将掌握如何构建一个简单的iOS应用,该应用包括一个文本框、一个标签和一个按钮。点击按钮后,将在...

    Uno“Hello world!” 项目使用Windows UWP,iOS,Android和WebAssembly.zip

    Uno“Hello world!” 项目使用Windows UWP,iOS,Android和WebAssembly.zip,An Uno "Hello world!" project using Windows UWP, iOS, Android and WebAssembly

Global site tag (gtag.js) - Google Analytics