2010-11-30 iPhone 学习笔记

IPhone 4(是iPhone系列中的第四代) 是設計及銷售的一款,是iPhone的第四代。它的前作是,而後續型號是。隨著一系列重大的資訊洩漏事宜,蘋果公司於2010年6月7日在舉行的上發布iPhone 4,並於同年6月24日在美國、英國、法國、德國及日本開售。iPhone 4為iPhone系列引入了嶄新的硬件設計,而蘋果公司的時任称它為當時世界上最薄的智能手機,它由不銹鋼框架組成,內部組件置於矽酸鋁玻璃之間。iPhone 4還推出了蘋果公司新款高解像度的,其像素密度為每英寸326像素,同時保持與其前體相同的尺寸與縱橫比。 阅读详情

Objective-C 部分

OC 是C的子集,是面向对象程序设计语言

语法上基于SmallTalk-80

OC可以与C、C++代码混合编写

 

入口函数与C相同都是 int main(int argc, const char*argv[]) 形式

c语言的基本概念与语法在OC中同样适用

 

OC中定义函数形式

函数类型 (返回类型) 函数名称:(参数类型) 参数 参数名称:(参数类型) 参数...;

示例

-(void) Fun1;

-(int) Fun2:(int) n

+(void) Fun3:(int)n ValueName:(int) value;

 

其中 "-" 实例方法 "+"类方法。

调用形式

[object Fun1];

[object Fun2:?];

[object Fun3:? ValueName:?];

 

OC中类定义

@interface ClassName : ParentClassName (NSObject)

{

         // 成员变量定义

         int n;

         int x;

         int y;

}

 

 

//  成员函数定义

-(void) TestFun:(int)n;

 

@end

 

 

OC中类实现

@implementation ClassName

 

-(void) TestFun:(int)n

{

 

}

 

@end

 

 

// 调用
int main(int argc, const char*argv[])

{

     NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];

 

     ClassName* obj = [[ClassName alloc] init];

 

     [obj TestFun:?];

 

     [obj release];

     [pool drain];

}


 

 

与传统C区别点

#import  代替 #include

NSLog(@"") 输出到控制台

BOOL 值 使用YES NO

对象自引用使用 self关键字

空值使用nil宏

具有一个通用对象类型id

getter setter 使用特定方法实现

调用函数或发送消息形式
[]
例[self setName:@"Name"];
也可以使用"."
例
self.name = @"Name";


oc中类的继承方式是单继承,但可以定义多个协议(接口)

oc中可以进行类扩展,可以给已有类增加成员方法

内存管理方面,一可以使用NSAutoreleasePool定义内存池来管理对象,二使用引用计数进行保持或销毁对象。

 

getter setter 使用特定方法实现说明

在OC中可以不直接写GetXXX 或 SetXXX方法进行获取值或存储值,其方法大体过程如下:

 

头文件中

// 变量定义部分做如下定义

1.int n;

 

// 成员变量定义外做如下访问属性声明
2.@property int n;


类实现文件中,

// 实际生成getter setter 方法
@synthesize n;
做以上操作后程序已经具体 GetN 和SetN的访问能力。


除此之外还有 readwrite, readonly, nonatomic, retain, copy, assign 关键在@property 中使用。

@property是一个属性访问声明,扩号内支持以下几个属性:
1,getter=getterName,setter=setterName,设置setter与getter的方法名
2,readwrite,readonly,设置可供访问级别,readwrite是默认访问级别,readonly 只会生成getter方法。
2,assign,setter方法直接赋值,不进行任何retain操作,为了解决原类型与环循引用问题
3,retain,setter方法对参数进行release旧值再retain新值,所有实现都是这个顺序
4,copy,setter方法进行Copy操作,与retain处理流程一样,先旧值release,再Copy出新的对象,retainCount为1。这是为了减少对上下文

的依赖而引入的机制。
5,nonatomic,非原子性访问,不加同步,多线程并发访问会提高性能。


OC 协议
协议是多个类共享的一个方法列表,其中方法没有实现,由引用协议的类进行实现。定义如下:
@protocol MyInterface
-(void) interface1;
-(void) interface2;
@optional                // 这个关键字下面的方法类中可选实现
-(void) interface3;
-(void) interfacen;
@end


引用协议
@interface MyClass:NSObject <MyInterface>
{

}

@end;


引用协议实现
@implementation MyClass
-(void) interface1
{

}

-(void) interface2
{

}


-(void) interfacen
{

}

@end


分类说明
OC中分类可以给现有类增加新的方法
例给NSString 增加连接字符串方法
分类定义:
@interface NSString(ConnectString)
-(NSNumber*) len;
@end

分类实现:
@implementation NSString(ConnectString)

-(NSNumber*) len
{
    int Len = [self length];

    return [NSNumber numberWithInt:Len];
}

@end


这样在没有NSString 源码情况,不需要继承而进行类功能的扩展。


内存管理方面
一、自动释放池
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];

在创建对象时 调用autorelease方法,该对象释放与销毁由 释放池管理,而该对象不再需要手工 release 操作

内存池释放
[pool drain];

二、引用计数
OC使用引用计数机制管理对象,当创建对象时,其引用计数为1 使用 retain 方法计数加1 release 计数减1
retainCount 可以获取当前对象的引用计数。

由对象的引用计数为0时,系统认为该对象不再被需要,则释放其内存空间。

OC内存管理规则
release 方法并不真正销毁对象,它只是计数减1当,对象的引用计数为0时才由系统发送一条dealloc 消息去释放它所占内存空间
如果手工创建对象,则需手工释放
使用autorelase方法的对象,由内存池管理,不需要手工释放
如果未明确手工创建对象,则不需要去手工释放
如果有retain操作,则应用有对应的 release 或 autorelease


Foundation 框架部分

包括常用的类有
NSNumber
NSString
NSDate
NSData
NSArray
NSDictionary
NSMutableString
NSMutableArray
NSMutableDictionary
NSSet
NSFileHandle
NSFileManager


iPhone 开发重点

动画效果
照相机功能
地图功能
定位功能
加速计
手势
音频视频

通讯

 

我会基于目前大体脉络慢慢加入更新

软件工程:数据字典 数据字典 阅读详情

相关推荐

IPMI的SOL (Serial Over LAN) 和 UART

UART全名是Universal Asynchronous Receiver/Transmitter(通用異步接收/发送器),它是一个常用的異步串行传输协议。透过UART传输前,接收方须要先知道传输方的鲍率(Baud rate):单位时间内,讯号状态变化的次数。例如 115200 bps,表示每秒会传送115200个bits--> 因此读取率就是 1/115200=8.6微秒读取一次讯号。封包内的资料长度:通常是 8bits。

yeiris的博客 1万+

iPhone

iPhone是苹果公司(Apple Inc.)于2007年1月9日开始发售的搭载iOS操作系统的系列手机产品。截至2022年9月,苹果公司(Apple Inc.)已发布37款手机产品;iPhone系列产品静音键在设备正面的左侧;iPhone 5之前机型使用30Pin(即30针)接口,iPhone 5(包含)之后产品使用Lightning接口。iPhone X之前机型配置Home键;iPhone X(包含)之后(除iPhone SE第二、三代)机型取消了实体Home键。

顺其自然~专栏 1381

Vivado Schematic视图实战:从RTL分析到布局布线,如何用它快速定位设计问题(附2019.1版操作)

本文深入解析Vivado Schematic视图在FPGA设计中的关键作用,从RTL分析到布局布线全流程,帮助工程师快速定位设计问题。通过三重视图对比、高效调试四步法和高级技巧,提升问题排查效率,缩短调试时间。文章结合2019.1版操作指南和实战案例,展示如何利用Schematic视图解决典型设计问题。

weixin_30591551的博客 490

历代iPhone主要参数对比,更新于2022年03月

历代iPhone参数对比

苛学加记事 13万+

UM982上位机调试【精简版】

分享一些关于UM982卫导模块上位机调试的简快捷单小功能。

在线求职中... 1万+

VUE3 实战手记(一)集成 EasyUI for Vue 组件库

本文详细介绍了如何在VUE3项目中集成EasyUI for Vue组件库,包括环境准备、基础安装、配置与集成、TypeScript类型问题解决以及组件实战等内容。EasyUI以其轻量级和开箱即用的特性,特别适合快速开发后台管理系统,提升开发效率。

weixin_30628801的博客 531

准备入手iPhone 4港版的必看!港行无锁版iPhone 4购买全攻略

2010年7月,在港行无锁版iPhone 4即将推出倒计时之际,本人再次行动,将不惜继续折腾,以实事求是不怕困难的无畏精神再次将购买全程以文字形式记录下来,希望本流水记录同时也给众多期待和热爱港行的朋友多一些参考和帮助,大家齐乐乐才是真的好  先阐述几个重要事项后再进入购机

deepwishly专栏 5679

Kaggle时间序列竞赛金牌方案解析与实战指南

本文深度解析了Kaggle时间序列竞赛的金牌方案,揭示了其成功不仅依赖先进模型,更在于系统工程思维。文章系统阐述了从数据理解、特征工程到模型集成与后处理的全流程,并重点剖析了分层建模、自定义损失函数、时序交叉验证等核心技巧,为参赛者提供了从理论到实战的完整指南。

weixin_29196315的博客 358

iPhone商标卖灯具

“iPad”商标战余波未平,“iPhone”又起商标之争。昨天,义乌市徐杰商标事务所负责人徐杰告诉早报记者,当地灯具商人蔡先生此前委托他向国家商标局申请在第11类注册“iPhone”商标,苹果在初审公告期最后一天提出异议,要求撤销申请。上周五,徐杰商标事务所收到国家商标局转寄的异议材料。昨天,徐杰就此赴京与同行讨论,将在1个月内向国家商标局做出异议答辩,由商标局裁定,“如双方不接受裁定,还将进行异...

weixin_30340353的博客 400

告别Link180!在Ansys Mechanical 2020R2中正确启用Cable280绳索单元(附Beta选项开启指南)

本文详细介绍了在Ansys Mechanical 2020R2中启用Cable280绳索单元的全过程,包括Beta选项的开启步骤、建模技巧及高阶应用。Cable280作为专为绳索仿真设计的单元,相比传统的Link180单元,在大变形模拟和计算效率上表现更优,特别适合斜拉桥、电梯牵引绳等工程场景。

weixin_33711647的博客 406

XDMA流传输模式

XDMA 流传输模式(Streaming DMA)​ 是 Xilinx FPGA 通过 PCIe 与主机进行 ​实时流式数据传输 的核心机制,

浩瀚之水的专栏 3436

iphone尺寸_回眸iPhone的辉煌

从2007年的第一款iPhone到2019年的最新iPhone 11 Pro,苹果已然是手机市场上叱咤风云的佼佼者,没有公司能够像苹果这样对智能手机产品进行过更改和定义。随着竞争对手的手机制造商的队伍日益壮大, iPhone本身也随着时代和市场的改变而发展。回顾历史,每一代的iPhone产品都有哪些与众不同的地方呢。iPhone:一切的开始年代:2007苹果最初的iPhone无疑是一个创...

weixin_39723010的博客 194

【运动规划算法项目实战】全覆盖分区算法

全覆盖规划在机器人学领域具有重要意义,其应用场景涵盖了自动农场、扫地机器人、扫描监视无人机等多个领域。该问题的核心目标是使机器人能够从指定起点出发,规划一条避开障碍物、同时路径尽可能短的轨迹,从而实现对特定区域的全面覆盖。在实际应用中,全覆盖规划的成功实现对于提高机器人在各类环境中的工作效率至关重要。这一问题的解决涉及到高效的路径规划和规划区域分解技术。其中,梯形单元分解算法是一种常用分区的技术,过将地图上需要规划的区域进行分区,采用梯形分解的方式,可以更好地应对复杂环境。全覆盖算法规划流程。

xiewf的博客 1万+

【iPhone资料】历代iPhone参数

从功能机时代跨过智能机时代,从2G时代越过4G时代,从诺基亚黑莓老牌手机厂商为主导的时代来到如今百花齐放、百家争鸣的时代,不断变化的iPhone以卓越的做工设计和流畅的生态系统为整个行业树立新的标杆。在这十年间,iPhone又是如何蜕变的呢?小为为大家图说iPhone的十年成长史。 iPhone 历代参数对比   上市时间 ...

想起那天夕阳下的奔跑 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

怎样查看 iPhone 基带版本号

本教程将描述如何查看你iPhone上基带版本号,以便你如果需要解锁你iPhone时可以通过相应的基带版本号来确定该使用什么版本的软解软件。   什么是基带? 基带又名Baseband,在iPhone中基带是管理无线通信的组件。基带中包含一个通讯系统,是用来控制iPhone通讯的程序,这个程序控制电话通讯,WiFi无线通讯、以及蓝牙通讯。如果锁定运营商的iPhone要实现使用任意网络运营商SI

蜡笔小辛的专栏 4893

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

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

iphone屏幕圆角插件_iPhone以及iPhone12带来哪些改变?

时间缓缓的将人类投掷于苦难中往前推移,未来已来!iPhone12万众瞩目,加州.库比蒂诺市的苹果总部apple park会再一次让世界惊叹吗?还记得2007年吗?那是乔布斯第一次站在Mosconewest会展中心的舞台上拿着iPhone,告诉人们是个可以“改变世界”的玩意儿!或许,很多人会嘲讽iPhone与我无关!或许,很多人习惯于安卓系统的简易操作!或许,你真的不在乎! 那个时候我们还是习惯用翻...

weixin_42166261的博客 286

iphone分辨率_iphone系列 13年的心路历程

还记得2006年你们的家人都在使用什么手机嘛?没错就是以诺基亚、摩托罗拉为首的功能机1、初号机 iphone2G然而从2006年开始,苹果乔布斯团队就在酝酿一个大计划!自从iPod推出后,乔布斯就一直希望将收发电子邮件、打电话、听音乐三大功能整合在一个设备上。但是,每次乔布斯和公司高层讨论得出的结论都不乐观。终于在经历了艰难的研发以及噩梦般的发布会后。iphone2GS在2007年1月9...

weixin_39604045的博客 599

iphone11什么时候上市_世纪佳缘上市是什么时候,为什么世纪佳缘会上市成功?- 股市聚焦...

摘要:  世纪佳缘是一个婚恋网站,通过互联网平台与线下会员见面,为中国大陆、台湾、香港、澳门等世界各国和地区的单身人士提供婚恋交友的服务,那么,世纪佳缘上市是什么时候?  世纪佳缘是一个婚恋网站,通过互联网平台与线下会员见面,为中国大陆、台湾、香港、澳门等世界各国和地区的单身人士提供婚恋交友的服务,那么,世纪佳缘上市是什么时候?  世纪佳缘上市是什么时候?  2011年5月11日晚,世纪佳缘登陆美...

weixin_39631295的博客 232

iphone之前是a14仿生产品

演示地址The ‘time flies’ event that streamed today brought some major upgrades to Apple Watch & iPad line up, and disappointed fans who were expecting a new iPhone. But one of the most prominent annou...

weixin_26741235的博客 274

iphone4功能详解,绝对值得一买!

转载自:http://www.china.com.cn/info/2010-09/01/content_20842958.htm    美国旧金山当地时间2010年6月7日上午10点(北京时间8日凌晨1点),备受期待的苹果开发者年度盛 会WWDC2010(Apple Worldwide Developers Conference 2010)拉开帷幕。苹果CEO乔布斯在开幕演讲中公布了新一代iPh

客亦知夫水与月乎? 1017

iphone分辨率_智能手机编年史 记在12年来最丑iPhone即将发布的时刻

北京时间 9 月 11 日,也就是明天凌晨 1 点,苹果公司将举办其2019秋季发布会。根据目前的情报,最新一代iPhone应该就是下图模样。众多果粉纷纷吐槽这是史上最丑iPhone。不禁感叹,苹果到底怎么了,当年那个引领行业的苹果哪去了?今天我们就来盘点一下,曾经苹果引领整个行业潮流的苹果以及那些努力追赶苹果的竞争对手们的产品。2007 - 起始iPhone:2007年1月9日,乔布斯...

weixin_39755824的博客 437

iPhone问世15周年,共33款机型,你用过哪几个?

NEW关注Tech逆向思维视频号最新视频→【2022五大最具潜力科技趋势,不仅仅是元宇宙】出品|网易智能1月10日消息,2007年1月9日,苹果联合创始人兼首席执行官史蒂夫·乔布斯(Ste...

网易智能 1173

iphone4s白苹果_回顾经典:苹果发布的这21款iPhone,前三款你知道吗?

从2007年第一款iPhone发布起苹果手机已经陪伴我们走过了11个多年头。在这11年里你可能用过几部iPhone,也可能用过受iPhone影响的智能手机们。尽管我们每年都在唱衰着苹果,但市场和友商的模仿又让它一次次的走在智能手机领导者的位置。从第一款手机发布到现在有哪些手机曾打动过你们的内心呢?苹果2GiPhone 2G是苹果的第一代手机,首席执行官即CEO史蒂夫·乔布斯于2007年1月9日在美...

weixin_39759107的博客 989

iPhone上的Base64和3DES

这篇文章是对Base64和3DES算法以及他们如何在iphone平台上实现的一点总结。本文吸收了很多前人的资料和成果,在修正了其中的一些错误的基础上添加了自己的理解。在此向前人出色的工作表示感谢。本文主要参考资料如下: http://blog.youkuaiyun.com/ishow99/archive/2010/07/02/5709274.aspx http://topic.youkuaiyun.com/u

开始2014题记成长的专栏 525

iphone4备份_果粉信仰充值,iPhone4系列做成标本售卖,千元你买不买?

iPhone改变了手机生态,这十几年一代代iPhone都是手机市场宠儿,双十一手机大战中,iPhone11一直高居第一,iPhone12也进入前列,对于高端手机来说,确实很厉害。今天说的是iPhone4系列,iPhone历史销量榜上,iPhone4和iPhone4S加起来销量超过上亿,也有人说iPhone4是手机历史里程碑产品。2010年苹果和乔布斯发布了这款产品,当时乔布斯宣布iPho...

weixin_39923599的博客 200

2010年7月编程语言排行榜:这里有支足球队

<br />Tiobe近日公布了2010年7月的编程语言排行榜,本期榜单中的显著变化是:Objective-C排名大幅提升,它的流行当归功于iPhone 的成功,因为Objective-C一直被用于编写iPhone应用程 序。 <br />  前十位排名仍然没有变化,分别是:Java、C、C++、PHP、 C#、Visual Basic、Python、Perl、Objective-C、Javascript。其中C#、(Visual) Basic、JavaScript有轻微调整。<br />  

夏天的异想世界 901
上一篇: 2010-10-02 工作内容
requestImage
博客等级 码龄16年 2粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值