objective-c基础
comeontom
做一枚纯粹的程序猿
展开
-
objective-c之委托协议详细讲解
委托协议,相信是大多objective-c初学者非常疑惑的一个概念,下面我来给大家讲解讲解:下面先让大家了解几个概念protocol-协议,就是使用了这个协议后就要按照这个协议来办事,协议要求实现的方法就一定要实现。 delegate-委托,顾名思义就是委托别人办事,就是当一件事情发生后,自己不处理,让别人来处理。当一个A_View 里面包含了B_ViewB_View需要调原创 2012-04-10 11:11:22 · 1023 阅读 · 0 评论 -
objective-c 类和对象中静态数据成员和静态成员函数(类方法)详解
作为初学者,相信大家都对objective-c的静态数据成员和静态成员函数都挺纠结的,我现在和大家分享下我对这个知识点的理解,请大家多多指点....如果大家学过C++,那么都应该知道和了解静态数据成员和静态成员函数是怎么声明和使用的;现在就让我来说说objective-c和C++在静态成员在使用和声明上的异同点吧。 首先来说说声明:A:静态数据成员的声明C++是如下声原创 2012-05-03 17:19:12 · 12168 阅读 · 2 评论 -
ipad/iphone内存管理一
在我们iPhone/iPad项目中,程序会无缘无故地crash!这让我们非常的苦恼!现在我结合网上的一些资料,并根据自己的理解,和大家一起探讨内存管理这方面的知识。大家有什么不理解的可以直接给我留言。 首先,我们应该先了解什么是内存泄漏。下面是百度百科的解释:简单的说就是申请了一块内存空间,使用完毕后没有释放掉。它的一般表现方式是程序运行时间越长,占用内存越多,最终用尽全部内存,整个系统崩原创 2012-04-23 16:02:57 · 1776 阅读 · 0 评论 -
objective-c类别(Category)详细解说
objective-c类别(Category):为一个已经存在的类增加方法,而不是增加一个子类。先上代码:NSStringUtilities.h//#import #import @interface NSString (Utilities)-(BOOL)isURL;@endNSStringUtilities.m#import "NSStringUtili原创 2012-05-10 15:36:46 · 993 阅读 · 0 评论 -
如何控制iPad/iPhone横向和竖向详解
对于刚接触ipad/iPhone编程的人来说,控制其显示方向是挺纠结的!下面我来给大家详细讲讲这应该是如何控制的。相信很多人都是,我要控制其横向显示不是很简单,直接在代码里的- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation函数里控制其显示方向原创 2012-05-14 09:59:44 · 4466 阅读 · 0 评论 -
iPad/iPhone如何让进程停止10秒【待完善】
有很多时候,我们想让一个进程停止10秒,我们该怎么做呢?代码如下:[NSThread sleepForTimeInterval:10.0];原创 2012-05-14 13:32:30 · 1276 阅读 · 1 评论 -
非常有用的一些objective-c知识点
1获取系统语言设置 NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults]; NSArray *languages = [userDefault objectForKey:@"AppleLanguages"]; NSString *preferredLang = [lan转载 2012-05-14 13:43:26 · 17313 阅读 · 2 评论 -
代码中自己用的模版之一
为了方便自己,在写代码时要用到的出示类#pragma mark -初始化- (id)init{ self = [super init]; if (self) { } return self;}- (void)loadView{ [super loadView];}- (void)viewDidLoad{ [super viewD原创 2012-05-14 20:12:39 · 913 阅读 · 0 评论 -
编程笔记(objective-c :关于属性)
关于属性 在C++中,通常需要编写Getter和Setter方法来获取或者是设置实例变量的值。这两种方法需要在程序中显示的完成。这种方式在Objective-C中也是适用的。但是Objective-C提供了一种更为便捷的方式来完成这种功能。它就是属性。和C++中的显示的Getter和Setter方法相比,属性机制使得Getter函数和Setter来的更容易和更简化。O转载 2012-05-15 20:37:11 · 1007 阅读 · 0 评论 -
UIButton:用两张图片---代码中自己用的模版之二
我们在用UIButton的时候,想要两张图片,一张时正常显示的,一张是在点击时显示的,这个该怎么实现呢?下面时我的实现方式,如有别的方式,请大家一起分享出来,共同学习.... NSString *path = nil; UIImage *image = nil; path = [[NSBundle mainBundle] pathForResource:@原创 2012-05-15 18:29:50 · 1996 阅读 · 0 评论 -
编程笔记(objective-c :声明属性)
转载请标明出处:blog.csdn.net/zhangxingping属性的声明 属性的声明使用关键字@property。属性的声明可以是在@interface类中的方法声明块的任何地方。@property同样也可以在protocal(协议)和category(种类)中。其通用形式如下:@property ( attributes) type name转载 2012-05-15 20:38:13 · 687 阅读 · 0 评论 -
编程笔记(Objective-c:属性的实现)
转载请标明出处:blog.csdn.net/zhangxingping 前面的示例程序中已经看到了使用@synthesize关键字来告诉编译器自动生成属性的getter和setter方法。也就是说如果我们没有显示地在@implementation代码块中实现属性的getter和setter方法,编译器会自动根据property的attributes来生成相应的getter和sette转载 2012-05-15 20:39:20 · 696 阅读 · 0 评论 -
删除可变数组NSMutableArray中的重复数据
categoryArray = [[NSMutableArray alloc] init]; for (unsigned i = 0; i < [cateArray count]; i++){ if ([categoryArray containsObject:[cateArray objectAtIndex:i]] == NO){转载 2012-06-19 21:13:12 · 4196 阅读 · 0 评论 -
很好的一个博客
“我”的开发笔记iOS-iPhone-DevelopmentVincent iOS/iPhone学习系列、代码教程----~~~持续更新中~~~ONEV'S DEN【学习objective-c的好地方】Just CodeYIFEIYANG 易飞扬的博客龚畅优的博客原创 2012-07-31 14:45:37 · 877 阅读 · 0 评论 -
PHP plist 生成器
PHP数组转换为苹果plist XML或文本格式<?PHP /** * PropertyList class * Implements writing Apple Property List (.plist) XML and text files from an array. * * @author Jesus A. Alvarez */ function plist_en转载 2013-08-23 16:50:14 · 1420 阅读 · 0 评论 -
IOS中获取各种文件的目录路径的方法
iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么.documents,tmp,app,Library。(NSHomeDirectory()),手动保存的文件在documents文件里Nsuserdefaults保存的文件在tmp文件夹里1、Documents 目录:您应该将所有de应用转载 2013-10-21 21:01:09 · 759 阅读 · 0 评论 -
cast between Objective-C and Core Foundation-style objects
If you cast between Objective-C and Core Foundation-style objects, you need to tell the compiler about the ownership semantics of the object using either a cast (defined inobjc/runtime.h) or a Core翻译 2014-04-16 19:46:19 · 1122 阅读 · 0 评论 -
IMP 使用
test *Test = [[test alloc]init]; // //方式一// void(*setSkinColor_Func) (id, SEL, NSString*);// setSkinColor_Func=(void (*)(id, SEL, NSString*)) [Test methodForSelector:NSSelectorFromStri原创 2014-04-13 12:06:43 · 1808 阅读 · 0 评论 -
[NSConcreteNotification objectForKey:]: unrecognized selector sent to instan
发送消息,代码如下-(void)isCloseFile:(NSString *)zipName downWhichLoadName:(NSString *)downName{ NSDictionary *dictionary = [[NSDictionary dictionaryWithObjectsAndKeys:zipName,@"zipName",downName,@"downL原创 2012-04-18 17:15:59 · 5697 阅读 · 1 评论 -
UIImage应用与内存管理
用UIImage加载图像的方法很多,最常用的是下面两种: 1、用imageNamed函数[UIImage imageNamed:ImageName]; 2、用NSData的方式加载,例如: 1. NSString *filePath = [[NSBundle mainBundle] pathForResource:fileName ofType:ex转载 2012-05-01 20:06:33 · 1136 阅读 · 0 评论 -
#pragma mark 有什么用处?
在一些成熟的代码中,我们经常看到#pragma mark -#pragma mark NSURLConnectionDelegete但是,对于初学者的我们来说,这种东西看起来像预处理命令似得,不过,这些不是!那他们有什么用处呢?看了下面的截图,相信你就懂了:我们可以看到,pragma 是给xcode IDE看的。如果还不懂,看看下面的连接:http:/原创 2012-04-11 09:18:26 · 1152 阅读 · 0 评论 -
有关iPhone UIDevice UIApplication的一些常见用法
1.判断设备的类型iPad或者iphone,可在main中定义一个宏来记录 #define IS_IPAD ([[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)] &&[[UIDevice currentDevice] userInterfaceIdion] == UIUserInte转载 2012-04-24 07:59:33 · 664 阅读 · 0 评论 -
iPhone/Mac Objective-C内存管理教程和原理剖析(一)基本原理
版权声明此文版权归作者Vince Yuan (vince.yuan#gmail.com)所有。欢迎非营利性转载,转载时必须包含原始链接http://vinceyuan.cnblogs.com/,且必须包含此版权声明的完整内容。版本 1.1 发表于2010-03-08前言初学objectice-C的朋友都有一个困惑,总觉得对objective-C的内存管理机制琢磨不透,程序经常内存转载 2012-04-24 19:20:09 · 590 阅读 · 0 评论 -
iPhone/Mac Objective-C内存管理教程和原理剖析(三)@property (retain)和@synthesize的默认实现
版权声明此文版权归作者Vince Yuan (vince.yuan#gmail.com)所有。欢迎非营利性转载,转载时必须包含原始链接http://vinceyuan.cnblogs.com,且必须包含此版权声明的完整内容。 版本 1.1 发表于2010-03-08 三 @property (retain)和@synthesize的默认实现在这里解释一下@prop转载 2012-04-24 19:22:12 · 625 阅读 · 0 评论 -
iPhone/Mac Objective-C内存管理教程和原理剖析(四)系统自动创建新的autorelease pool
版权声明此文版权归作者Vince Yuan (vince.yuan#gmail.com)所有。欢迎非营利性转载,转载时必须包含原始链接http://vinceyuan.cnblogs.com/,且必须包含此版权声明的完整内容。版本 1.1 发表于2010-03-08 四 系统自动创建新的autorelease pool在生成新的Run Loop的时候,系统会自动创建新的au转载 2012-04-24 19:23:03 · 658 阅读 · 0 评论 -
ipad/iphone内存管理二
本次主要讲解的是 :autorelease//// main.m// MemoryManagement//// Created by b126 on 12-4-23.// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.//#import @interface ClassA : NSObject原创 2012-04-24 19:14:38 · 720 阅读 · 0 评论 -
iPhone/Mac Objective-C内存管理教程和原理剖析(二)口诀与范式
版权声明此文版权归作者Vince Yuan (vince.yuan#gmail.com)所有。欢迎非营利性转载,转载时必须包含原始链接http://vinceyuan.cnblogs.com,且必须包含此版权声明的完整内容。 版本 1.1 发表于2010-03-08 二 口诀与范式1 口诀。1.1 谁创建,谁释放(类似于“谁污染转载 2012-04-24 19:21:28 · 580 阅读 · 0 评论 -
Objective-C中的@property和@synthesize用法详解
相信每个初学者对于这两个东西感觉非常陌生,当然啦,我也是初学者,所以呆会在和大家说这两个东西的时候,希望大家不用要求太高,还有,请大神们绕路哈!在objective-c中,我们可以用new简单的代替alloc init,我们今天介绍的是类似于new这种简易用法的另一种OC特性,用@property,@synthesize来代替get,set方法,用起来很简单,可以省掉很多的代码量,当需要用SE原创 2012-04-12 20:54:32 · 1991 阅读 · 0 评论 -
获取当前时间,并把两个字符串结合在一起
NSDateFormatter *nsdf2=[[[NSDateFormatter alloc] init]autorelease]; [nsdf2 setDateStyle:NSDateFormatterShortStyle]; [nsdf2 setDateFormat:@"YYYYMMDDHHmmssSSSS"]; NSString *t2=[ns原创 2012-04-14 09:40:32 · 710 阅读 · 0 评论 -
ipad/iphone内存管理三之NoAutorelease和Autorelease详细解说
相信大家对自动释放和手动释放疑惑很大,废话少说,先上代码://// main.m// MemoryManagement//// Created by b126 on 12-4-23.// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.//#import //----------------原创 2012-04-26 16:10:14 · 948 阅读 · 0 评论 -
respondsToSelector判断是否实现了某方法
转自:http://www.cnblogs.com/chenjunbiao/archive/2011/04/21/2023196.htmlTester.h#import Foundation/Foundation.h>@interface Tester : NSObject { }-(void) test:(NSString*) msg;-(void) notImp;转载 2012-04-17 10:59:16 · 828 阅读 · 0 评论 -
retain和copy的区别
转自:http://c.gzl.name/archives/339原来简单解释过属性定义(Property) ,并且提起了简单的retain,copy,assign的区别。那究竟是有什么区别呢?assign就不用说了,因为基本上是为简单数据类型准备的,而不是NS对象们。Retain vs. Copy!!copy: 建立一个索引计数为1的对象,然后释放旧对象转载 2012-04-29 21:13:21 · 595 阅读 · 0 评论 -
iphone 消息处理事件 postNotificationName和addObserver的调用
转自:http://blog.sina.com.cn/s/blog_6853c0db0100n2t1.html1.定义消息创建的关联值 也就是找到方法的标志NSString *const GameToIPhoneNotification = @"GameToIPhoneNotification"; GameToIPhoneNotification变量,@"GameToIPhon转载 2012-04-17 20:09:54 · 2172 阅读 · 0 评论 -
MPMoviePlayerController 电影播放器—IOS开发
转自:http://blog.csdn.net/iukey/article/details/7311126#MPMoviePlayerController 与AVAudioPlayer有点类似,前者播放视频,后者播放音频,不过也有很大不同,MPMoviePlayerController 可以直接通过远程URL初始化,而AVAudioPlayer则不可以。不过大体上用起来感觉差不多。废话少说进入转载 2012-04-28 20:27:36 · 1255 阅读 · 0 评论 -
iPad/iPhone内存管理四之viewDidUnload/dealloc详细解说
在进行内存管理时,我们必须要知道这两者的区别时什么。viewDidUnload是在程序接到内存警告的时候调用的,在这时候,我们可以把我们不需要的东西去掉或者让他等于nil。dealloc是在计数等于0时,就会被调用,用以释放内存。原创 2012-04-29 19:40:52 · 1399 阅读 · 0 评论 -
iPad/iPhone内存管理五之如何确定对象返回的值是autorelease
大家看看下面的区别:NSString * sushiString = [NSString stringWithFormat:@"%d: %@", indexPath.row, sushiName];NSString * sushiString = [[[NSString alloc] initWithFormat:@"%d: %@",原创 2012-04-29 20:57:13 · 1263 阅读 · 0 评论 -
-[UIImage _isCached]: message sent to deallocated instance 0xde8ce90
当你测试内存警告的时候,可能会遇到这种提示,这说明,你的代码里加载图片的用的是:UIImage *image = [UIImage imageNamed:@"btn1.png"];你应该是这样用: NSString* imagePath = [[NSBundle mainBundle] pathForResource:@"shujia" ofType:@"png"原创 2012-05-01 13:31:34 · 1525 阅读 · 0 评论 -
mac下用c语言md5加密
今天在Mac下弄md5加密,需要使用库原创 2014-07-31 17:30:21 · 2050 阅读 · 0 评论