
Objective-C
iShareStudio
广州大学城大学生软件开发团队
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
objective-C: NSString应该用initWithFormat? 还是 stringWithFormat?
今天在看书上的一段代码时,发现NSString实例化时,有时用的是initWithFormat方法,有时用的是stringWithFormat,到底应该如何选择呢?区别:1、initWithFormat是实例方法只能通过 NSString* str = [[NSString alloc] initWithFormat:@"%@",@"Hello World"] 调用,但是必须手动rel转载 2013-11-15 12:33:31 · 875 阅读 · 0 评论 -
十分钟让你明白Objective-C的语法(和Java、C++的对比)
很多想开发iOS,或者正在开发iOS的程序员以前都做过Java或者C++,当第一次看到Objective-C的代码时都会头疼,Objective-C的代码在语法上和Java, C++有着很大的区别,有的同学会感觉像是看天书一样。不过,语言都是相通的,有很多共性。下面列出Objective-C语言的语法和Java,C++的对比,这样你就会很容易Objective-C的语法是怎么回事了。先目睹一下转载 2013-11-09 14:30:48 · 893 阅读 · 0 评论 -
关于Objective-C 对象release操作的一个小问题探讨
最近遇到这样一个问题,以前的时候并未注意;新建一个工程,然后添加一个类,文件结构是这样的然后写了这样一小段程序,运行[cpp] view plaincopy- (void)viewDidLoad { [super viewDidLoad]; Test *testObj = [[Test alloc] init];转载 2013-12-31 09:52:20 · 869 阅读 · 0 评论 -
oc strong weak retain assign
简单讲strong等同retainweak比assign多了一个功能,当对象消失后自动把指针变成nil,好处不言而喻。 nonatomic:非原子性访问,不加同步,多线程并发访问会提高性能。如果不加此属性,则默认是两个访问方法都为原子型事务访问。 (atomic是Objc使用的一种线程保护技术,基转载 2014-01-01 08:52:13 · 1015 阅读 · 0 评论 -
1,Objective-C语法之Objective-C语言和iOS系统(简介,语法,系统结构)
简介Objective-C,是扩充C的面向对象编程语言。它主要使用于Mac OS Objective-C,通常写作ObjC和较少用的Objective C或Obj-C,是在C的基础上,加入面向对象特性扩充而成的编程语言。目前,Objective-C主要应用于Mac OS X和iOS这两个NeXTSTEP的衍生系统,而在NeXTSTEP和OpenStep中它更是基本语言。Objective-转载 2013-11-08 12:07:25 · 997 阅读 · 0 评论 -
Objective-c nil, Nil, NULL和NSNull的区别
源:http://blog.youkuaiyun.com/crayondeng/article/details/18954999在OC中可能经常会遇到 nil,Nil,NULL和NSNull,下面分析一下之间的区别:SymbolValueMeaningNULL(void *)0literal null value fo转载 2014-02-08 11:37:59 · 829 阅读 · 0 评论 -
iOS设计模式的顶级资料
先记下来~http://www.cs.colorado.edu/~kena/classes/5448/f12/presentation-materials/myrose.pdf目测来自:http://cuengineeringonline.colorado.edu/coursedb/view-course/361另一个:http://www.raywenderl原创 2014-02-26 17:36:53 · 1095 阅读 · 0 评论 -
Objective-C 的 API 设计(API Design)
我最常做的开发任务是设计一个可重用的API组件。组件通常为iOS(尽管有时它们是OS X) 设计的,且总是GUI控件或某种视图。多年来,我为客户开发了很多API组件,其中包括像Apple这样的客户,而且我已经很了解这个过程。我也定期发布开源组件,并且我把曾经对我有帮助的资料和API设计指南放在一起与大家分享。这是一个重要的主题,无论你是一个开源贡献者,或作为团队的一员参与开发大型的翻译 2014-02-13 14:02:25 · 1599 阅读 · 0 评论 -
在iOS中创建静态库(Creating a Static Library in iOS Tutorial)
中文:http://www.cocoachina.com/applenews/devnews/2013/1204/7468.html英文:http://www.raywenderlich.com/41377/creating-a-static-library-in-ios-tutorial原创 2014-02-13 18:20:16 · 882 阅读 · 0 评论 -
17,Objective-C Foundation框架中的NSDate
一、NSDate初始化 //获取当前时间 NSDate *now = [NSDate date]; NSLog(@"It's %@ now,",now); //获取距离某个时间点的时间 NSDate *then = [[NSDate alloc] initWithTimeInterval:3600 sinceDate:now];原创 2014-02-20 10:55:24 · 1383 阅读 · 1 评论 -
空指针和野指针
本文目录一、什么是空指针和野指针二、野指针和空指针例子说明:这个Objective-C专题,是学习iOS开发的前奏,也为了让有面向对象语言开发经验的程序员,能够快速上手Objective-C。如果你还没有编程经验,或者对Objective-C、iOS开发不感兴趣,请忽略。学习本专题之前,建议先学习C语言专题。回到顶部一、什么是空指针和野指针1.空指针1>转载 2014-05-02 17:15:06 · 2601 阅读 · 0 评论 -
No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=arm64, VALID_ARCHS=armv7 armv7s)
问题:No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=arm64, VALID_ARCHS=armv7 armv7s)解决:Project ->Target->Build Setting ->搜索 Build Active Architecture Only ->把值改成NO原创 2014-06-16 15:06:07 · 2070 阅读 · 0 评论 -
XCode Build Settings中几种Search Paths
Framework search path: where to search frameworks (.framework bundles) in addition to system frameworks paths. Not used very much in iOS development, officially there is no developer iOS frameworks.转载 2014-10-29 11:50:46 · 1070 阅读 · 0 评论 -
在iOS的XCode工程配置中为什么要用-all_load&-ObjC
-ObjC这个flag告诉链接器把库中定义的Objective-C类和Category都加载进来。这样编译之后的app会变大(因为加载了其他的objc代码进来)。但是如果静态库中有类和category的话只有加入这个flag才行。-all_load这个flag是专门处理-ObjC的一个bug的。用了-ObjC以后,如果类库中只有category没有类的时候这些categor转载 2014-10-22 11:43:40 · 608 阅读 · 0 评论 -
iOS中的状态栏
2种方法从iOS7开始,系统提供了2种管理状态栏的方式:(1)通过UIViewController管理(每一个UIViewController都可以拥有自己不同的状态栏)(2)通过UIApplication管理(一个应用程序的状态栏都由它统一管理)默认方式在iOS7中,默认情况下,状态栏都是由UIViewController管理的,UIViewController实现下列方原创 2014-11-07 17:17:44 · 870 阅读 · 0 评论 -
iOS开发之详解正则表达式
本文由Charles翻自raywenderlich原文:NSRegularExpression Tutorial: Getting Started更新提示:本教程被James Frost更新到了iOS8和swift。Tutorial团队成员的Soheil Azarpour完成最初发布。正则表达式(广为所知的“regex”)是一个字符串或一个字符序列来说明一种模式,把它作为一个搜索字转载 2016-03-11 18:21:55 · 1150 阅读 · 0 评论 -
15,Objective-C语法之Category的使用
无论一个类设计的如何完美,都不可避免的会遇到没有预测到的需求,那怎么扩展现有的类呢?当然,继承是个不错的选择。但是Objective-C提供了一种特别的方式来扩展类,叫Catagory,可以动态的为已经存在的类添加新的行为。这样可以保证类的原原来的基础上,较小的改动就可以增加需要的功能。使用Category对类进行扩展时,不需要访问其源代码,也不需要创建子类,这样我们可以扩展系统提供的类。Cate转载 2013-11-08 12:20:12 · 834 阅读 · 0 评论 -
4,Objective-C语法之类和对象
1、类和方法下图中是一段的类声明的语法展示,声明了一个叫做 MyClass 的类,它继承于根类:NSObject。(根类可以被所有的其他类直接或间接继承。)下图是一个方法的语法展示,方法的声明由以下几个部分构成:方法类型标识符,返回类型,一个或多个方法签名关键字,以及参数类型和名称。类的实体变量的访问权限:转载 2013-11-08 12:10:16 · 829 阅读 · 0 评论 -
objective-c基础教程——学习小结
提纲:简介与C语言相比要注意的地方objective-c高级特性开发工具介绍(cocoa 工具包的功能,框架,源文件组织;XCode使用介绍)简介:1. objective-c是C语言的一个扩展集,主要由APPLE公司维护,是MAC系统下的主要开发语言。个人认为,对于用惯了常用的C,JAVA等语言的人来说,objective-c是一中很另类,非主流的语言。转载 2013-11-07 12:02:48 · 977 阅读 · 0 评论 -
2,Objective-C语法之基本数据类型
本篇博客主要介绍基本数据类型的长度,基本数据类型在Oc的数组中如何时候,还有其他数据类型的相互转换等。为了演示基本数据类型的例子,我们新建一个iPhone项目类做例子1、新建项目为了方便,我们新建一个Single View Application 。输入项目名称 BaseTypeProduct Name:转载 2013-11-08 12:08:27 · 844 阅读 · 0 评论 -
11, Objective-C语法property详解
1、简介: property是Objective-C的关键词,与@synthesize配对使用,用来让编译好器自动生成与数据成员同名的方法声明。@synthesize则是用来生成对应声明方法的实现。1.1 property的语法格式:@property (参数1,参数2)类型名字;这里的参数,主要有以下三种:setter/getter方法(assig转载 2013-11-08 12:17:23 · 720 阅读 · 0 评论 -
13,Objective-C语法之KVO的使用
简介:上篇我们讲到了KVC,这篇我们学习KVO,全名为:Key Value Observing,直译为:基于键值的观察者。那它有什么用呢?KVO主要用于视图交互方面,比如界面的某些数据变化了,界面的显示也跟着需要变化,那就要建立数据和界面的关联。ObjC中提供的KVO就是解决这种问题的。以下用显示页面观察学生的课程名称变化的例子来说明KVO的使用。学生类命名为:St转载 2013-11-08 12:18:48 · 928 阅读 · 0 评论 -
9,Objective-C语法之NSDictionary和NSMutableDictionary
Java有Map,可以把数据以键值对的形式储存起来,取值的时候通过key就可以直接拿到对应的值,方便快捷。在Objective-C语言中,词典就是做这样的事情的,和NSArray一样,一个词典对象也能保存不同类型的值,词典也分别有不可变词典和可变的词典(NSDictionary与NSMutableDictionary),前者是线程安全的,后者不是 。1、不可变词典NSDicti转载 2013-11-08 12:15:37 · 881 阅读 · 0 评论 -
10,Objective-C语法之NSSet和NSMutableSet
NSSet和NSMutableSet是无序的, 但是它保证数据的唯一性。当插入相同的数据时,不会有任何效果。从内部实现来说是hash表,所以可以常数时间内查找一个数据。1、NSSet的使用[NSSet setWithSet:(NSSet *)set]; 用另外一个set对象构造[NSSet setWithArray:(NSArray *)array];用数组构造转载 2013-11-08 12:16:32 · 844 阅读 · 0 评论 -
14,Objective-C语法之代码块(block)的使用
代码块本质上是和其他变量类似。不同的是,代码块存储的数据是一个函数体。使用代码块是,你可以像调用其他标准函数一样,传入参数数,并得到返回值。脱字符(^)是块的语法标记。按照我们熟悉的参数语法规约所定义的返回值以及块的主体(也就是可以执行的代码)。下图是如何把块变量赋值给一个变量的语法讲解:按照调用函数的方式调用块对象变量就可以了:int result = myB转载 2013-11-08 12:19:28 · 975 阅读 · 0 评论 -
5,Objective-C语法之异常处理
Objective-C的异常比较像Java的异常处理,也有@finally的处理,不管异常是否捕获都都要执行。异常处理捕获的语法:[cpp] view plaincopy@try { } @catch (NSException *exception) { } @f转载 2013-11-08 12:11:25 · 797 阅读 · 0 评论 -
6,Objective-C语法之动态类型(isKindOfClass, isMemberOfClass,id)等
对象在运行时获取其类型的能力称为内省。内省可以有多种方法实现。判断对象类型-(BOOL) isKindOfClass: classObj判断是否是这个类或者这个类的子类的实例-(BOOL) isMemberOfClass: classObj 判断是否是这个类的实例ps:本篇新建的类主要用于熟悉本篇内容设计,未考虑内存管理因素。我们试试这两个方法的使用。1转载 2013-11-08 12:12:58 · 739 阅读 · 0 评论 -
7,Objective-C语法之内存管理
1、Objective-C内存管理简介: Objective-C需要自己考虑内存的管理,对于从Java, C#等语言转向Objective-C平台的程序员新手来说,这是个很大的挑战。幸运的是,如果熟悉了Objective-C的内存管理机制,手工管理内存也没有那么可怕。 Objective-C的内存管理介于C/C++和Java C#直接,不像C/C++语言内存管理全部需要程序员一手包办转载 2013-11-08 12:13:49 · 778 阅读 · 0 评论 -
8,Objective-C语法之NSArray和NSMutableArray
Objective-C的数组比C++,Java的数组强大在于,NSArray保存的对象可以是不同的对象。但只能保存对象,int ,char,double等基本数据类型不能直接保存,需要通过转换成对象才能加入数组。1、NSArray 不可变数组[array count] : 数组的长度。[array objectAtIndex 0]: 传入数组脚标的id 得到数据对象转载 2013-11-08 12:14:42 · 843 阅读 · 0 评论 -
12,Objective-C语法之KVC的使用
除了一般的赋值和取值的方法,我们还可以用Key-Value-Coding(KVC)键值编码来访问你要存取的类的属性。下图来自苹果官网:如何使用KVC存取对象属性呢?看个示例1、使用KVC定义一个Student类,继承于NSObject。.h文件[cpp] view plaincopy转载 2013-11-08 12:18:05 · 847 阅读 · 0 评论 -
16,Xcode 4.4中LLVM compiler 4.0带来的Objective-C新语法特性
今年WWDC 2012苹果全球开发者大会上,苹果针对LLVM编译器都做了重大改进,新版的Xcode 4.4中的LLVM编译器升级到了4.0,给Objective-C带来了很多令人惊喜的特性。注意,下面的语法需要下载Xcode 4.4。1、枚举类型的改变老写法:[cpp] view plaincopytypedef enum转载 2013-11-08 12:20:55 · 967 阅读 · 0 评论 -
无 SDK 实现支付宝分享
这两天试着为 MonkeyKing 添加了分享到支付宝好友的功能,自己也小小地体验了一次“逆向工程”(哈哈),在此小记,以为备忘。MonkeyKing 的目的是帮助 iOS 开发者在不集成 SDK 的情况下实现社交分享功能。要为它添加 分享到支付宝好友 的功能就需要知道支付宝官方 SDK 做了些什么,并自己使用代码来进行相应的操作。很遗憾支付宝的 SDK 并不是开源的, 所以我们就需要一些转载 2016-10-08 15:24:53 · 2388 阅读 · 0 评论