ios的helloworld 2

参考视频:
www.imooc.com/learn/149
Swift Weather app
使用xcode6_beta
[b]1.create a new xcode project[/b]
single View Application
language选swift
选下面匹配iphone w为compact
如果删掉viewController新建的时候一定要右边第三个
CostumClass 的class选ViewController
[img]http://dl2.iteye.com/upload/attachment/0100/9790/af7e6a38-f886-3f05-9ba8-4197a053f35d.png[/img]
拖拽两个label和一个ImageView
关掉xcode
[b]2. 到项目目录下创建Podfile[/b]

➜ first git:(master) ✗ cat ../hello/Podfile
platform :ios,'7.0'
pod 'AFNetworking'

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

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

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

[b]4. 新建头文件[/b]
[color=red]为了swift调用objective-c的代码[/color]
SwiftWeather-Bridging-Header.h
内容为

#import <AFNetWorking/AFNetWorking.h>

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

[b]5 .ViewController.swift[/b]
内容为

//
// 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")
}
}


}





[b]6. 其中@IBOutlet var location : UILabel [/b]
需要
点main.storyboard
按住option 再点ViewController.swift
同时打开两个页面后再
点住control 拖拽 main.storyboard中点标识到ViewController中
226届数字IC秋招笔试面试全攻略 本文系统介绍了数字IC设计岗位面试的核心技巧,聚焦三大关键环节:自我介绍、项目介绍和技术问题回答。在自我介绍部分,强调1-2分钟结构化表达,突出与岗位匹配的技能和量化成果;项目介绍环节提出"背景-职责-技术-难点-成果"五步框架,建议结合架构图和性能数据展示技术深度;技术问题回答策略包括理解问题、结构化思考、举例说明和诚实应对未知。文章还提供了项目包装方法,指导如何通过量化数据、架构创新展示和技术难点解决方案来突出项目亮点,并附有简历项目描述示例和技术问题回答模板,帮助面试者全方位展示专 阅读详情

相关推荐

NVIDIA NCCL 安装和测试实战教程

ibrary)是用于深度学习应用的高性能通信库,可加速多GPU通信和同步。它能够在多个GPU之间进行高效的数据传输和集体操作,显著提高了分布式GPU系统上深度学习训练和推理的性能。NVIDIA NCCL是加速多GPU系统上深度学习应用的必不可少的工具。其高效的通信原语和集体操作显著提高了分布式训练和推理的性能,使其成为现代深度学习基础架构的关键组成部分。

weixin_39818775的博客 4428

iOS Dev (2) HelloWorld with .xib

iOS Dev (2) HelloWorld with .xib 作者:爱欧艾斯鸟 创建工程 Cmd + Shift + N 选择 Single View Application; 填写options Class Prefix可以填HelloWorldProduct Name也可以填HelloWorldcompany.identifier填com.xxxDevice

大锐哥的技术专栏 999

汽车电子电气架构演进:从分布式ECU到域集中与中央计算

汽车电子电气架构(EEA)是整车电子系统的顶层设计框架,定义了计算、通信、供电等核心要素的组织方式。其演进遵循从分布式到集中式的技术路径,旨在解决传统架构下ECU数量膨胀带来的成本、复杂度和协同难题。通过域控制器(DCU)整合功能域,以及向中央计算+区域控制架构发展,实现了硬件资源池化、软硬件解耦与高速通信。这一变革的核心技术价值在于提升算力利用率、简化线束布局、支持软件定义汽车(SDV)与持续OTA升级。在智能电动汽车时代,新架构为智能座舱、自动驾驶等复杂应用提供了可扩展的平台基础,推动了汽车产业从硬件导

weixin_30326741的博客 385

大锐哥的iOS教程(2)用xib完成HelloWorld工程

iOS Dev (2) HelloWorld with .xib 作者:大锐哥 创建工程 Cmd + Shift + N 选择 Single View Application; 填写options Class Prefix可以填HelloWorld Product Name也可以填HelloWorld company.identifier填com.xxx D...

大锐哥的技术专栏 161

kbjdbc: autodetected server-encoding to be ISO-8859-1, if the message is not readable, please check

这条信息是来自 KingbaseES 数据库的一个 JDBC 客户端连接提示。KingbaseES 是一个企业级的关系型数据库管理系统,它兼容 PostgreSQL 的许多特性。如果上述步骤仍然无法解决问题,建议详细查看数据库和客户端的日志文件,以获取更具体的错误信息。此外,也可以考虑联系 KingbaseES 的技术支持获取帮助。项目融合kingbase数据库,输出日志乱码。结果:网上各种调整各种试。

zjy660358的专栏 4843

IIS - 会话cookie中缺少HttpOnly属性

不啰嗦,我们直接开始! 先进行常规设置 打开配置编辑器 选中图中节点,将httpOnlyCookies设置为true 然后。。。不起作用。。。 换种方式 通过配置出站规则getcookie添加HttpOnly 在Web.config中添加如下出站规则 <rewrite> <outboundRules> <rule name="Add HttpOnly"> <match serverVa.

。 21万+

跟世界打个招呼c语言编程,(一)helloworld

Idea下用SBT搭建Spark Helloworld没用过IDEA工具,听说跟Eclipse差不多,sbt在Idea其实就等于maven在Eclipse.Spark运行在JVM中,所以要在Idea下运行spark,就先要安装JDK 1.8+ 然后加入S ...菜鸟学Struts2——HelloWorld写在前面 自从工作后就过上了只有一个月记忆的生活,太健忘,很多学过的东西因为用得少便忘记了,第...

weixin_36151066的博客 330

【YOLOv13[基础]】热力图可视化实践 | 脚本升级 | 优化可视化效果 | 论文必备 | GradCAMPlusPlus, GradCAM, XGradCAM, EigenCAM等

本文将进行添加YOLOv13版本的升级版热力图可视化功能的实践,支持图像热力图可视化、优化可视化效果、 可以选择使用GradCAMPlusPlus, GradCAM, XGradCAM, EigenCAM, HiResCAM, LayerCAM, RandomCAM, EigenGradCAM。一个参数即可设置是否显示检测框等。

静谧、淡雅 644

IOS5.0 xcode4.2 写的helloworld

xcode4.2 写的helloworld" name="image_operate_15001336049922248" alt="IOS5.0 xcode4.2 写的helloworld" src="http://s6.sinaimg.cn/middle/48fb2901gbf215aefcb45&690" width="690" height="431">

207

把慢点掰开看:在 SAP HANA 中启用 SQL 优化耗时跟踪 SqlOptTime 的实战指南

摘要:SAP HANA 性能排查中,常出现SQL查询时快时慢的现象,表面看似执行问题,实则是编译阶段耗时过长。通过SQL优化跟踪工具SqlOptStep和SqlOptTime,可精准区分编译与执行时间。SqlOptStep展示优化树变化过程,而SqlOptTime则记录各阶段耗时,帮助定位问题根源。启用SqlOptTime需配置traceprofile,建议限定特定用户以减少系统负载。实际案例显示,报表响应慢常由计算视图编译(CeQo)导致,而非执行阶段问题。解决方案包括调整计算视图展开方式或优化基础视图结

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1008

汽车UDS诊断详解及Vector相关工具链使用说明——总述

1.什么是诊断 车辆在运行过程中,不可避免地会发生一些故障,为了确保行车安全,我们要求车上的ECU能够实时监测部件的运行状态,一旦发现异常情况,能通过点亮报警灯等方式提示驾驶员。但是,点亮报警灯只能告诉驾驶员车辆发生了故障,最多只能定位到故障ECU,比如ABS报警灯亮说明ABS系统出现故障,但具体是什么部件发生故障并不能通过报警灯显示出来。这时就需要ECU在本地存储一个与故障相对应的故障代码,在进行维修的时候,可以通过车上的OBD接口连接诊断仪,把这个存储的故障代码读取出来,从而进一步定位到更加具体的故障部

weixin_42967006的博客 2万+

Xcode4.2 storyboard HelloWorld

注:转自http://blog.youkuaiyun.com/zhoujiajun88/article/details/7075095 这篇文章主要参考苹果的iOS开发文档,童鞋可以自己移步http://developer.apple.com查看更详细的说明,这里只是简单的说明在Xcode4.2下怎么建立一个iOS 5.0的Storyboard的HelloWorld工程。

1950的专栏 1045

InVEST模型 | HAbitat quality模块计算生境质量

 本文详细介绍使用InVEST模型中HAbitat quality模块计算生境质量,包含各个参数的含义、所需数据、数据处理以及需要各个参数注意的地方等过程。

地理空间科学的博客 1万+

iPhone开发之HelloWorld

这是一篇iPhone开发入门教程,使用的Xcode版本是4.2,SDK版本是IOS5,虽然网上有很多HelloWorld教程,但是都是基本Xcode3.4 + SDK3.0,有点过时了,现在是iPhone4和iPhone4S大行其道,在Xcode4.2中Interface Builder已经和Xcode整合在一起了,创建项目里也有些不同,现在开始HelloWord程序,打开Xcode4.2

qaz13177_58_的专栏 1万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

xcode4.3.2开发iOS应用之HelloWorld

终于买了个mac pro啊,兴奋的几天没睡好觉。花了一天的时间来装Android和xcode的开发环境,这个不给力的网速啊,搞的我浑身不知道哪疼。      不管学什么语言,第一个总是HelloWorld吧,

大掌教的Cocos Creator研究院 1441

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

mac os下 ionic 2 安装(二),酷炫的hello world 先跑起来!!(运行app)

前面一篇博客介绍了怎么在浏览器运行ionic 2 的HelloWorld项目,这篇说下运行app。 1.首先给项目增加platform支持,先以android为例 命令行: sudo ionic platform add android 成功后看到项目根目录下有个platform文件夹,进入看到android文件夹。(默认会安装ios platform) 2.在模拟器运行。 命

1456

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

cocos2dx 2.0运行HelloWorld报错

cocos2dx 2.0运行HelloWorld在glGenVertexArrays(1, &m_uVAOname)时候报0x00000000错误解决办法: 在ccConfig.h中找打CC_TEXTURE_ATLAS_USE_VAO修改成如下 #ifndef CC_TEXTURE_ATLAS_USE_VAO #if (CC_TARGET_PLATFORM == CC_PL...

buerkai的专栏 257

疯狂ios讲义之创建cocos2d项目(1)

HelloWorld cocos2d项目 cocos2d安装完成之后,接下来开始创建第一个cocos2d项目。创建cocos2d项目的步骤如下。 1.打开Xcode,选择“File”→“New”→“Project”菜单来创建新项目。单击左边栏中的cocos2d v2.x,在右边会看到3个cocos2d模板图标,如图13.6所示。 2.选择“cocos...

weixin_34297704的博客 122

(2)Mac环境搭建

创建HelloWorld项目 将刚才下载的压缩包解压到你指定的文件夹里。 进入到目录cocos2d-x-3.2alpha0/tools/cocos2d-console/bin/cocos.py 打开终端运行cocos.py脚本创建文件 ./cocos.py new HelloWorldDemo -p com.coco2dx.org -l cpp -d ~/Desktop 或...

110

XCode phonegap_2.8.1开发部署

先从官方网站http://phonegap.com/下载最新版的PhoneGap,当前最新版本为2.8.1。 下载了配置包,并解压,直接进入IOS文件目录,找到一个bin文件夹。把这个文件夹直接拖拉到Terminal终端的程序图标,就会弹出一个Terminal终端窗口,在这输入: ./create ~/Documents/CordovaXY/HelloWorld org.apache.

2135

HelloWorld, 2021年年度总结

随着2022年元旦的来临,2021年落下了帷幕,在此,HelloWorld开发者社区先祝大家新年快乐,在新的一年里,身体健康,工作顺利。转眼间, HelloWorld开发者社区 已经上线一...

趣谈前端 378

升级Xcode到6.1之后使用iPhone6真机测试cocos2d-x报错不支持arm64的解决方案,Undefin ...

转载请注明出处http://blog.youkuaiyun.com/wjlpld/ 谢谢大家          最近收入iPhone6之后将Xcode顺便升级到6.1版本,编译cocos2d-x 3.2的Helloworld项目时报错如下                             Undefined symbols for architecture arm64:        

iphone86的专栏 1172

xcode执行java代码_Xcode中调用java文件之HelloWorld

在Xcode中调用java文件由于最近想开发一个exchange的IOS客户端的邮箱应用程序,但是只找到了ews-java-api所以想来想去还是需要xcode中安装j2objc来实现吧,目前只是实现了第一步,调用Java类成功;具体步骤如下:我使用的xcode版本为9.2,j2objc版本为2.0.5创建一个新的项目名叫Test3添加Settings.xcconfig,并填写releases解压...

weixin_39850167的博客 1604

第一个iPHONE应用

1.       开发工具 在本应用中,开发工具为苹果的Xcode4.2 。 To create the iOS application in this tutorial, you need Xcode 4.2. Xcode is Apple’s integrated development environment (or IDE) for both...

miki西游 不积跬步,无以至千里;不积小流,无以成江海 131
上一篇: ios的helloworld
下一篇: python2.7 vlrtualenv
linux内核控
博客等级 码龄19年 41粉丝 638原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值