随笔分类 - 手机开发(iPhone)
摘要:在IOS里两个UIView窗口之间传递参数方法有很多,比如1.使用SharedApplication,定义一个变量来传递.2.使用文件,或者NSUserdefault来传递3.通过一个单例的class来传递4.通过Delegate来传递。前面3种方法,暂且不说,这次主要学习如何使用通过Delegate的方法来在不同的UIView里传递数据 。比如: 在窗口1中打开窗口2,然后在窗口2中填入一个数字,这个数字又回传给窗口1。窗口1窗口2窗口2的结果传递给窗口11.首先定义个一委托UIViewPassValueDelegate用来传递值@protocolUIViewPassValueDelegat
阅读全文
摘要:导航栏的按钮,右边的按钮是可以自己随意添加的。但左边的返回按钮怎么定制?你会说,添加一个自己的按钮呗!你可以试试看,这样行不行。正确的答案是重载UINavigationController类的pushViewController:animated方法。01#import <UIKit/UIKit.h>0203<a href="http://my.oschina.net/interface"class="referer"target="_blank">@interface</a> MyNavigati
阅读全文
摘要:之前大家是否疑惑为什么设置了类似这样的代码UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:self action:nil]; self.navigationItem....
阅读全文
摘要:由init、loadView、viewDidLoad、viewDidUnload、dealloc的关系说起init方法在init方法中实例化必要的对象(遵从LazyLoad思想)init方法中初始化ViewController本身loadView方法当view需要被展示而它却是nil时,viewController会调用该方法。不要直接调用该方法。如果手工维护views,必须重载重写该方法如果使用IB维护views,必须不能重载重写该方法loadView和IB构建view你在控制器中实现了loadView方法,那么你可能会在应用运行的某个时候被内存管理控制调用。 如果设备内存不足的时候, v
阅读全文
摘要:XCode 4.2 新功能 - Storyboard最近開始比較有空在玩 XCode 4.2(iOS5 Beta3),赫然發現它多了個 Storyboard 的東東。Storyboard 這個東西一般來說是在做創意發想的時候,用來將自己的想的一些故事情節畫成像是連環漫畫一樣,想不到 Apple 把它用在這裡,真是佩服...好吧,不廢話,先來說說這個 Storyboard 帶來什麼改變?在這個版本前,我們在設計畫面的時候都是用 interface builder 產生一個 xib 檔,然後在 code 要出現這個畫面的時候可能是用這樣的方式:[self.navigationController
阅读全文
摘要:在iphone 开发中,使用xcode4创建好一个项目后,在生成的模板代码中一般会发现这样的代码self.window.rootViewController而在很多教程中是用这个 window addSubview二者有什么区别呢?事实上前者是iOS4中的新方法,如果你想保持开发出来的应用兼容iOS以前的版本就使用后者吧,根据趋势和内存管理方面的原因,还是使用新的用法吧。就这样吧。
阅读全文
摘要:1.iPod 是苹果定位为随身听的产品,后来因为iPhone的出现让它们干脆一料两用,也让iPod有了iPod Touch,最大的分别就是它不能打电话,只能听音乐上网玩游戏,上网也只能用WIFI上网,算是娱乐产品2.iPhone最大的分别就是既可以打电话,加上因为可以插SIM卡,所以上网多了3G上网这个选择,也由于多了电话功能也多了很多可以用的特殊软件,在iPod Touch 四代以前,只有iPhone有相机,现在都有了,所以除了照相品质有些差距,其实差别越来越小更多:http://www.51240.com3.iPad 虽然苹果极力想让它跟iPod Touch系列产品有所区分,但是在一般消费
阅读全文
摘要:一、有锁和无锁 比如现在有一部iPhone,3G iPhone,有锁版或无锁版,有锁版就是加了网络锁,也就是绑定了运营商,比如美版的AT&T,英国的O2。无锁版也叫官方解锁版,比如港行里的无锁版(香港另有和记的“3”定制版iPhone)。二、越狱 越狱对有锁和无锁的都适用。越狱是指通过改变一些程序使得iPhone的功能得到加强。 不论有锁版还是无锁版,如果只是想用App Store里的正版小软件,那么就不用越狱;如果想安装更多的好玩的非App Store里的软件,或者是说“盗版软件”,那么就得越狱。三、解锁 解锁只适用于有锁版。如果不需要换运营商,当然不用解锁。但比如,对流到中国大陆的
阅读全文
摘要:iphone/ipad无键盘的设计是为屏幕争取更多的显示空间,大屏幕在观看图片、文字、视频等方面为用户带来了更好的用户体验。而触摸屏幕是iOS设备接受用户输入的主要方式,包括单击、双击、拨动以及多点触摸等,这些操作都会产生触摸事件。在Cocoa中,代表触摸对象的类是UITouch。当用户触摸屏幕后,就会产生相应的事件,所有相关的UITouch对象都被包装在事件中,被程序交由特定的对象来处理。UITouch对象直接包括触摸的详细信息。UITouch类中包含5个属性: window:触摸产生时所处的窗口。由于窗口可能发生变化,当前所在的窗口不一定是最开始的窗口。 view:触摸产生时所处的视图。由
阅读全文
摘要:随手笔记,objective-c与java的几点不同:a. java通过Class来标识类,而Objective-C通过@interface/@implementation来标识类;b. java通过static来区分是否是静态方法,而Objective-C通过+/-来区分;c. java类的方法定义在类的大括弧中,而Objective-C在大括弧外;e. java对属性和方法有public、private、protected等访问限制属性,而Objective-C中属性为Protected,方法为Public;后面有发现其他的,会随时更新补充!
阅读全文
摘要:慎用ViewCtrl的跳转!搞iphone开发的,应该都知道MVC,顶半边天的UIViewCtrl,区分好Modle、View、Controller各自的作用。这里要提醒的是,勿滥用UIViewCtrl的跳转。从一个Controller跳转到另一个Controller时,一般有以下2种:1、利用UINavigationController,调用pushViewController,进行跳转;这种采用压栈和出栈的方式,进行Controller的管理。调用popViewControllerAnimated方法可以返回。2、利用UIViewController自身的presentModalViewC
阅读全文
摘要:NSArray,NSSet,NSDictionary总结博客分类:iphone三种集合类来收集cocoa对象(NSObject对象):NSArray用于对象有序集合(相当于是数组)NSSet用于对象无序集合NSDictionary用于键值映射以上三种集合类是不可变的(一旦初始化后,就不能改变)以下是对应的三种可变集合类(这三种可变集合类是对应上面三种集合类的子类):NSMutableArrayNSMutableSetNSMutableDictionary注:这些集合类只能收集cocoa对象(NSOjbect对象),如果想保存一些原始的C数据(例如,int, float, double, BOO
阅读全文
摘要:如果你准备写一个类,希望保证只有一个实例存在,同时可以得到这个特定实例提供服务的入口,那么可以使用单态设计模式。单态模式在Java、C++中很常用,在Cocoa里,也可以实现。但是,Objective-C的单例模式绝对和你所想象不一样,他的写法和你所见过的所有语言的写法都不一样。官方建议由于自己设计单态模式存在一定风险,主要是考虑到可能在多线程情况下会出现的问题,因此苹果官方建议使用以下方式来实现单态模式:static MyGizmoClass *sharedGizmoManager = nil;+ (MyGizmoClass*)sharedManager{ @synchronized(sel
阅读全文
摘要:objective-c protocol delegateprotocol-协议,就是使用了这个协议后就要按照这个协议来办事,协议要求实现的方法就一定要实现。delegate-委托,顾名思义就是委托别人办事,就是当一件事情发生后,自己不处理,让别人来处理。当一个A view 里面包含了B viewb view需要修改a view界面,那么这个时候就需要用到委托了。需要几个步骤1。首先定一个协议2。a view实现协议中的方法3。b view设置一个委托变量4。把b view的委托变量设置成a view,意思就是 ,b view委托a view办事情。5。事件发生后,用委托变量调用a view中
阅读全文
摘要:应用程序偏好设置在传统的桌面应用程序中,偏好设置是一些专门面向应用程序的设置,用于配置应用程序的行为和外观。iPhone OS也支持应用程序偏好设置,但并不将它作为应用程序整体的一部分。在iPhone OS上,应用程序级别的偏好设置并不由各个程序本身的定制界面来显示,而是由系统提供的Settings程序统一显示。为了将定制的应用程序偏好设置集成到Settings程序中,您必须在应用程序包的顶级目录中包含一个特殊格式的Settings程序包,由它负责将应用程序的偏好设置信息提供给Settings程序,而Settings程序则负责对其进行显示,并将用户提供的值写入偏好设置数据库。在运行时,您的应用
阅读全文
摘要:isMemberOfClass方法是来确定对象是否是某一个类的成员。在下一个任务中,我们使用这个方法来验证一个特定的对象是否是一个特定的类成员例子:#import <Foundation/Foundation.h>#import <stdio.h>@interface Class1 : NSObject{}-(void)print;@end@implementation Class1-(void)print{printf("This is Class1 .\n");}@end@interface Class2 : NSObject{}-(void)p
阅读全文
摘要:看到这样一段代码:NSString *respCode = [dict objectForKey:@"respCode"];//respCode is nullif(!respCode||[respCode isKindOfClass:[NSNull class]]){ //...}不明白isKindOfClass是什么意思。悬赏分:0 解决时间:2011/11/19 11:04回答数:1收藏举报 ★★★★程序开发遇到问题?请在这里提出来,经验丰富的程序员们会在一个小时内帮你解决问题!★★★★最佳答案小贝子isKindOfClass是属于哪种NSObject类型。这个只有N
阅读全文
摘要:编辑器加载中...是Foundation框架中的一个普通的类,它提供了到嵌套数列的树中特定节点的路径,事实上,它是一个整数阵列,表格视图使用这个去表现在特定章节中的特定行,UITableView用的所有索引路径正好有两个元素,第一个是章节,第二个是行。 NSIndexPath和TableViews@interfaceNSIndexPath (UITableView) {}+(NSIndexPath*)indexPathForRow:(NSUInteger)row inSection:(NSUInteger)section;@property(nonatomic,readonly)NSUInt.
阅读全文
摘要:【引用】iphone xml解析流程2011-05-06 15:09:35|分类: 解析 |标签: |字号大中小订阅本文引用自J.K.Terry《iphone xml解析流程》解析 web Service 的XML内容一直是一个难点,很多开发者在这一部分都十分的费力。下面我就我自己写的一个XML的例子来从头到尾的讲一遍其相关的内容。在很多的情况下,一个服务是通过某种网络API暴露的,它规定客户端发送什么,服务会在响应里发送什么,一般的来说大部分都返回xml格式的数据。我们来一个拿个接口实例来说一下: http://data.3g.sina.com.cn/api/index.php?page=1
阅读全文
摘要:-(IBAction) webServicexRequestPost:(id)sender{//封装soap请求消息,构建webServices请求字符串 NSString* soapMessage = [NSStringstringWithFormat:@"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
阅读全文