
Objective-C
文章平均质量分 52
freedom2028
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
用NodeJS实现APNS
APNS(Apple Push Notification service)可以给ios设备推送通知,直观表述就是当某个app在后台运行时,能弹出提示消息。相比Android来,只有这一套方案所以少了很多调研成本。标题写NodeJS,只是因为我们的生产环境是NodeJS,我也用其他语言调过,测试的库是这三个:node-apns(NodeJS) / PyAPNs(Python) / apns(Ruby转载 2013-10-02 23:29:59 · 4364 阅读 · 0 评论 -
XCode环境变量及路径设置
一般我们在xcode里面配置包含工程目录下头文件的时候,都要关联着相对路径和绝对路径,如果只是自己用这个项目,用绝对路径的问题不大,但是如果你把工程发给别人,别人就要在改这个绝对路径,这时候绝对路径的缺点立马出现。所以在修改User Header Search Paths这个选项的时候使用"$(SRCROOT)/当前工程名字/需要包含头文件所在文件夹"将上面的双引号里面的字符串拷贝转载 2013-03-11 12:30:29 · 138733 阅读 · 3 评论 -
Tried to obtain the web lock from a thread other than the main thread or the web thread. This may be
Tried to obtain the web lock from a thread other than the main thread or the web thread. This may be a result of calling to UIKit from a secondary thread.原因:在子线程中对UI进行了操作。NSDate *startTime = [原创 2013-03-03 13:36:56 · 2608 阅读 · 0 评论 -
Scene is unreachable due to lack of entry points and does not have an identifier for runtime access
使用Storyboard时出现以下警告:warning: Unsupported Configuration: Scene is unreachable due to lack of entry points and does not have an identifier for runtime access via -instantiateViewControllerWithIdentifi原创 2013-02-18 22:57:24 · 17545 阅读 · 0 评论 -
NSString & NSMutableString
Immutable strings // Setup two variables to point to the same string NSString * str1 = @"Hello World"; NSString * str2 = str1; // "Replace" the second string str2 = @"He转载 2012-12-08 20:49:57 · 610 阅读 · 0 评论 -
关于UITableView及dequeueReusableCellWithIdentifier的一些理解
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *SimpleTableIndentifier = @"SimpleTableIdentifier"; UITableViewCe转载 2012-12-08 18:00:33 · 3243 阅读 · 0 评论 -
'NSInvalidUnarchiveOperationException' 'Could not instantiate class named 'NSLayoutConstraint'
ios6版本出来新特性:auto layout属性,此属性只针对ios6及以上版本; ios6以下版本运行时出现异常信息:Terminating app due to uncaught exception ‘NSInvalidUnarchiveOperationException’, reason: ‘ Could not instantiate class named NSLayoutC转载 2012-12-01 12:34:54 · 1680 阅读 · 1 评论 -
XCode 无法显示size inspector
在Interface Builder中选中View,然后在Attributes Builder中去掉“Use Autolayout”前面的钩,如下图:原创 2012-11-11 20:07:02 · 2031 阅读 · 0 评论 -
Could not instantiate class named NSLayoutConstraint
xcode 升级到了 4.5 之后 只要往xib上面拖放控件 就会报错,解决方法, 选中当前的 xib文件,在属性栏里面进行以下操作:选中File's owner再右边的 inspector 一栏 将 interface builder document 下的 use autolayout 复选框去掉就可以了From:http://b转载 2012-10-07 20:36:14 · 733 阅读 · 0 评论 -
Objective-C内存布局
在我的理解来说: 对象(object)即一块内存,本文要探讨的是一个Objective-C对象在内存的布局(layout)问题,水果的官方文档有说,一个类(class)如果不需要从NSObject继承其某些特定的行为是不用继承NSObject的,这里我将讨论限制在继承了NSObject的类的对象范围内。首先来看一下,NSObject的定义:1 @interface NSObject转载 2012-09-25 23:08:40 · 1006 阅读 · 0 评论 -
Objective-C 序列化/反序列化
参考:[1].https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Archiving/Archiving.html#//apple_ref/doc/uid/10000047i[cpp] view plaincopy@interface PK转载 2012-10-06 22:13:14 · 1728 阅读 · 0 评论 -
setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key
其中一个变量或属性(variable 或 property)已经和一个nib或storyboard文件进行了连接,但是后来在Xcode 开发环境,将该 变量或属性名进行了更改。如 UILabel *label; 更改为 UILabel *newLabel; 这个时候编译或运行App,将出现类似前面的异常信息。如何解决这一问题呢?你需要解除或删除之前连接了连接(connectio原创 2013-03-02 13:59:40 · 9711 阅读 · 1 评论 -
iOS相关目录整理备忘
iOS模拟器目录:Users/your_user_name/Library/Application Support/iPhone Simulator/iOS_version/原创 2013-03-12 21:27:12 · 1083 阅读 · 0 评论 -
iOS中定时器NSTimer使用
调用一次计时器方法:[cpp] view plaincopymyTimer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(scrollTimer) userInfo:nil repeats:NO]; //不重复,只调用一次。tim转载 2013-09-11 19:52:44 · 39629 阅读 · 0 评论 -
AFNetworking使用
1. 把AFNetworking文件夹下的源码导入工程2. 加入依赖的framework:SystemConfiguration.frameworkCFNetwork.frameworkSecurity.frameworkreference:http://stackoverflow.com/questions/11492600/undefined-symbols转载 2013-08-21 22:21:06 · 3486 阅读 · 0 评论 -
weinre安装及使用
1.安装node.js2.安装weinrenpm installweinre(Windows请使用Node.js Command prompt)3.启动weinrenode node_modules\weinre\weinre(node_modules\weinre 为weinre安装路径,Windows默认装在:C:\Users\USER_NAME\node_modules\原创 2013-07-22 11:09:35 · 4728 阅读 · 1 评论 -
Objective-C多线程同步互斥及锁
在iOS中有几种方法来解决多线程访问同一个内存地址的互斥同步问题:>>>方法一,@synchronized(id anObject),(最简单的方法)会自动对参数对象加锁,保证临界区内的代码线程安全@synchronized(self) { // 这段代码对其他 @synchronized(self) 都是互斥的 // self 指向同一转载 2013-05-04 11:36:41 · 1375 阅读 · 0 评论 -
Objective-C 格式化输出
%@ 对象%d, %i 整数%u 无符整形%f 浮点/双字%x, %X 二进制整数%o 八进制整数%zu size_t%p 指针%e 浮点/双字 (科学计算)%g 浮点/双字%s C 字符串%.*s Pascal字符串%c 字符%C unichar%lld 64位长整数(lon转载 2013-05-03 13:21:16 · 1871 阅读 · 0 评论 -
UILabel显示换行的方法
UILabel*label;//设置换行label.lineBreakMode = UILineBreakModeWordWrap; label.numberOfLines = 0;换行符还是\n比如NSString * xstring=@"lineone\nlinetwo"记得要把label的高度设置的足够显示多行内容。 From:http:/转载 2013-04-30 22:22:59 · 1860 阅读 · 0 评论 -
file was built for archive which is not the architecture being linked (armv7s)
ld: warning: ignoring file /Users/USER_NAME/Documents/PATH_TO_YOUR_LIBRARY/libXXX.a, file was built for archive which is not the architecture being linked (armv7s): /Users/USER_NAME/Documents/PATH_TO原创 2013-04-16 21:48:22 · 8320 阅读 · 2 评论 -
The entitlements specified in your application’s Code Signing Entitlements file do not match those
最近开发iPhone程序,获得开发签名后在真机器上部署测试,在点击Build And Run后,提示The executable was signed with invalid entitlements.(The entitlements specified in your application’s Code Signing Entitlements file do not match thos转载 2013-03-16 23:00:40 · 6339 阅读 · 0 评论 -
静态库调用问题汇总
程序运行时调用静态库中函数出现:unrecognized selector sent to instance原因:将生成的simulator版本的静态库导入到工程中进行链接,囧rz解决方法:在Edit Scheme中将Destination设置为iOS设备程序编译时出现:Undefined symbols for architecture armv7原因:静态库中有导入原创 2013-03-16 19:03:14 · 1563 阅读 · 0 评论 -
objective-c宏定义
1、先来几个常用的:01// 是否高清屏02 #define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[转载 2013-03-17 11:06:44 · 1544 阅读 · 0 评论 -
使用NSData进行归档
先前的博文中 我 提到过 我们 可以采取 encodeObject:forKey:这项措施 对基本的Objective-C物件 和 编写过编码措施及解码措施的物件 进行编码。如果 某类物件中的每一个 都包含 一些基本的数据类型,比如 整数类型int,浮点类型float,我们 必须知道 如何对他们 进行编码 和 解码。这个 在先前一篇博文中的表格里 已经列举出转载 2012-10-06 23:39:20 · 3886 阅读 · 0 评论 -
Method Names and Non-ARC Compiled Code
ARC works with code that has not been compiled with ARC.This can happen if you’relinking with an older framework, for example. As long as the non-ARC code has con-formed to the standard Cocoa naming转载 2012-10-06 15:33:41 · 540 阅读 · 0 评论 -
十分钟让你明白Objective-C的语法(和Java、C++的对比)
很多想开发IOS,或者正在开发IOS的程序员以前都做过Java或者C++,当第一次看到Objective-C的代码时都会头疼,Objective-C的代码在语法上和Java, C++有着很大的区别,有的同学会感觉像是看天书一样。不过,语言都是相通的,有很多共性。下面列出Objective-C语言的语法和Java,C++的对比,这样你就会很容易Objective-C的语法是怎么回事了。先转载 2012-08-31 22:18:46 · 941 阅读 · 0 评论 -
objective-c 委托与协议
协议会制定若干的接口,这些接口并不需要自己实现,由遵守这个协议的类来实现。1.协议的定义:@protocol MyProtocol /* 若干接口(形式和类是一样的) */-(void)function;@end 一旦一个类被制定遵守这个协议,那么它就有责任去实现协议中的接口,不实现的话,xcode会给出警告。2.设置托管变量,这个变量放在触发协议的类中,也就是说这个转载 2012-08-31 23:28:54 · 726 阅读 · 0 评论 -
Objective-C 属性特性(assign , retain , copy , readonly , readwrite , atomic , nonatomic)
文档地址:Property Declaration Attributes section of the Objective-C Programming Languageassign:指定setter方法用简单的赋值,这是默认操作。你可以对标量类型(如int)使用这个属性。你可以想象一个float,它不是一个对象,所以它不能retain、copy。retain:指定retain应转载 2012-08-31 22:39:31 · 732 阅读 · 0 评论 -
objective-c 多态 ——动态类型 id 的使用(与 C# 的比较说明)
在C#中,我们用接口来实现多态。比如接口IOb,定义了1个方法F; 有两个类A,B都实现了IOb接口。IOb item = new A();item.F();//执行的是A.F();item = new B();item.F();//执行的B.F(); 在objective-c中,interface 的含义和C#有了很大的不同,不能这样使用。转载 2012-08-31 22:28:03 · 788 阅读 · 0 评论 -
Receiver XXX type for instance message is a forward declaration
关闭工程的ARC(Automatic Reference Counting)顺带附上ARC教程本文部分实例取自iOS 5 Toturail一书中关于ARC的教程和公开内容,仅用于技术交流和讨论。请不要将本文的部分或全部内容用于商用,谢谢合作。欢迎转载本文,但是转载请注明本文出处:http://www.onevcat.com/2012/转载 2012-08-21 23:34:33 · 16755 阅读 · 1 评论 -
Objective-C中init函数(self=[super init])实现的相关研究
今天在学习Objective-C时见到某初始化函数中有如下代码: self = [super init]; if(self){// Initialize members } return self; 当时只是觉得Objective-C与才C++应该一样,每个子类对象都包含父转载 2012-08-19 22:28:51 · 3948 阅读 · 0 评论 -
iPhone/Mac Objective-C内存管理教程和原理剖析
版本 1.1 发表于2010-03-08前言初学objectice-C的朋友都有一个困惑,总觉得对objective-C的内存管理机制琢磨不透,程序经常内存泄漏或莫名其妙的崩溃。我在这里总结了自己对objective-C内存管理机制的研究成果和经验,写了这么一个由浅入深的教程。希望对大家有所帮助,也欢迎大家一起探讨。 此文涉及的内存管理是针对于继承于NSObject的Class。转载 2012-08-19 20:19:53 · 961 阅读 · 0 评论 -
objective-c 关键字和概念
关键字@看到这个关键字,我们就应该想到,这是Object-C对C语言的扩展,例如@interface XXX。@interface声明类@implementation实现类@protocol声明协议@optional与@protocol配合使用,说明协议中的某个或者某几个方法可以不实现@required与@prot转载 2012-08-12 20:16:35 · 1101 阅读 · 0 评论 -
new vs alloc init
在object-c基础教程这本书里老是可以看见类似下面这种代码,我这小菜鸟就纳闷了,啥区别啊,看上去都一样么。网上找了找,找到一些说法,这里先摘出来。someClass* object = [someClass new];orsomeClass* object = [[someClass alloc] init];其实是一样的,某位老兄是这样说的,new在内部调用的alloc和转载 2012-08-12 18:56:54 · 576 阅读 · 0 评论 -
objective-c 多参数方法的定义与调用
方法定义举例: -(void)insertObject:(id)anObject atIndex:(NSInteger)index各部分解释:1.方法修饰符 - 代表此方法是实体方法,必须先生成类实例,通过实例才能调用该方法。 + 代表此方法是类的静态方法,可以直接调用,而不用生成类实例。 2.参数类型 id转载 2012-08-11 20:44:45 · 3238 阅读 · 0 评论 -
Objective-C 协议 简介 +委托的实现
简单的介绍1.1定义协议:创建一个.h文件 1: _MyProtocolName.h 2: @protocol MyProtocolName 3: @end 注:协议中没有变量;是代表在此声明的协议是NSObject协议的衍生协议(不是NSObject类);1.2使用协议: 1: @interface CustomView:UIView转载 2012-09-01 00:02:50 · 766 阅读 · 0 评论 -
NSInteger不是类
取自NSObjCRuntime.h中的定义:#if __LP64__ || (TARGET_OS_EMBEDDED && !TARGET_OS_IPHONE) || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64typedeflong NSInteger;typedef unsigned long NSUInteger;原创 2012-09-26 20:59:42 · 576 阅读 · 0 评论 -
使用Archive/Unarchive方式进行Deep Copy
int main(int argc, char *argv[]){ @autoreleasepool { NSData *data = nil; NSMutableArray *dataArray = [NSMutableArray arrayWithObjects: [NSMuta转载 2012-10-07 14:16:00 · 928 阅读 · 0 评论 -
Objective-C中的一些特殊的数据类型
在Objective-C中,有一些我们之前并不熟悉但是经常见到的数据类型,比如id、nil、Nil、SEL等等。在很多文章里,我们都见过这些数据类型的介绍,但是都没有说的太清楚。 这篇文章从最底层的定义开始,介绍一下这些类型到底是怎么定义的,这会帮助我们更加深入地了解Objective-C。 原文作者为Greg Miller,文章地址在:http:/转载 2012-09-15 16:24:37 · 863 阅读 · 0 评论 -
xcode生成文件路径
默认情况下。是有生成,可能你不知道在哪里。Xcode-->perferences--> locationsDerived Data,下面有一个路径:/Users/Liam/Library/Developer/Xcode/DerivedData这个就是默认的生成路径。点击旁边的箭头就可跳转到该文件夹。这里不值程序的目标文件,还有其他的生成的文件。转载 2012-10-05 10:04:51 · 27331 阅读 · 2 评论