Object-C语言
文章平均质量分 63
pengyuan_D
有朋自远方来,不亦乐乎
展开
-
KVO监听
Main.m#import "Children.h"#import "Nurse.h"int main(int argc, const char * argv[]){ Children *children = [[Children alloc] init]; Nurse *nurse = [[Nurse alloc] initWithChildre原创 2014-10-27 21:22:21 · 723 阅读 · 0 评论 -
类目Extension:给NSArrary扩展一个方法,该方法可以返回一个倒置数组
Main.m#import "NSArray+Extension.h"/* 使用类目为NSArrary扩展一个方法,该方法可以返回一个倒置数组*/int main(int argc, const char * argv[]){ NSArray *arrary = @[@1,@2,@3,@4]; NSArray *sortArrary = arra原创 2014-10-27 20:02:01 · 711 阅读 · 0 评论 -
Objective-C底层数据结构
类的数据结构Class(指针)?1234567891011121314151617181920212223typedef struct objc_class原创 2014-11-03 15:42:07 · 1095 阅读 · 0 评论 -
App之间跳转
要设置AppName-Info.plist原创 2014-11-04 11:26:40 · 768 阅读 · 0 评论 -
OC单元测试
断言测试下面一共18个断言(SDK中也是18个,其含义转自ios UnitTest 学习笔记,真心佩服原文的博主,部分宏小弟已经测试过):转载 2014-11-04 11:19:28 · 1231 阅读 · 0 评论 -
<iOS>关于Xcode上的Other linker flags
Targets选项下有Other linker flags的设置,用来填写XCode的链接器参数,如:-ObjC -all_load -force_load等。还记得我们在学习C程序的时候,从C代码到可执行文件经历的步骤是:源代码 > 预处理器 > 编译器 > 汇编器 > 机器码 > 链接器 > 可执行文件在最后一步需要把.o文件和C语言运行库链接起来,这时候需要用到ld命令。源文件经转载 2014-11-04 12:02:15 · 520 阅读 · 0 评论 -
获取资源的绝对路径NSBundle
使用NSBundle 获取程序资源文件,也就是获取工程中的图片、声音等文件的路径NSString *absPath = [[NSBundle mainBundle] pathForResource:@“pdfName” ofType:@“pdf”];得到资源文件的绝对路原创 2014-11-04 11:44:58 · 796 阅读 · 0 评论 -
CocoaPods安装和使用教程
Code4App 原创文章。转载请注明出处:http://code4app.com/article/cocoapods-install-usage目录CocoaPods是什么?如何下载和安装CocoaPods?如何使用CocoaPods?场景1:利用CocoaPods,在项目中导入AFNetworking类库场景2:如何正确编译运行一个包含CocoPods类库的项目Co转载 2014-11-06 09:51:49 · 860 阅读 · 0 评论 -
improt和include以及@class的关系
Main.m/* improt和include都是导入文件, 区别是:include只是单纯的复制, 但是import是在导入之前会判断当前文件是否存在已有的文件, 如果没有再导入,否则不会导入 */int main(int argc, const char * argv[]){ @autoreleasepool {原创 2014-10-23 20:10:09 · 1407 阅读 · 0 评论 -
Object-C入门,创建一个Person工程,给新手用
创建一个Person工程main.m#import #import "Person.h"int main(int argc, const char * argv[]){ /*____________________创建person对象______________________*/ //在OC里面对象使用指针声明的 //alloc在内存中申请一块内存,用原创 2014-10-22 08:35:31 · 1010 阅读 · 0 评论 -
文件管理:创建文件,读取内容,剪切文件
AppDelegate.m/* 在Documents下创建一个文件“mobile.text”,内容为“iPhone、android、windows phone”, 然后我们再次读取内容,并将内容修改为“iPhone、windows phone、android”, 并且将文件名称改为“cellPhone.text”。 然后我们在根目录下创建一个文件夹名为“phone”,在将文件剪切到该目原创 2014-10-28 19:17:46 · 788 阅读 · 0 评论 -
写文件和读文件
/*________________________NSString写文件和读文件_______________________________*/ //1.写文件 /* NSString *s = @"啊发顺丰大法师"; NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:原创 2014-10-28 19:36:55 · 1001 阅读 · 0 评论 -
小动物园系统
Main.m#import "Panda.h"#import "Elephant.h"#import "Kangaroo.h"#import "Zoo.h"#import "Admin.h"int main(int argc, const char * argv[]){ @autoreleasepool { //创建对象 Panda *panda原创 2014-10-28 19:45:02 · 2659 阅读 · 0 评论 -
创建单例类
Main.m/* 创建单例类 */int main(int argc, const char * argv[]){// NSBundle *bundle = [NSBundle mainBundle];// NSFileManager *fileManager = [NSFileManager defaultManager]; SingletonC原创 2014-10-28 19:40:31 · 883 阅读 · 0 评论 -
沙盒路径
/*__________________________沙盒路径______________________________*/ NSString *homePath = NSHomeDirectory(); NSLog(@"homePath:%@",homePath); // /Users/imac/Library/Application Support/iPho原创 2014-10-28 19:21:34 · 545 阅读 · 0 评论 -
创建一个文件,并写入当前时间
AppDelegate.mWriteDate *date = [[WriteDate alloc] init]; [date runAction];WriteDate.h原创 2014-10-28 19:23:46 · 810 阅读 · 0 评论 -
NSData的使用以及路径演示
Main.m// NSHomeDirectory() //路径演示 NSString *path = @"/Users/imac/Library"; NSLog(@"path:%@",path); //1.返回路径的组成部分 NSArray *arrary = [path pathComponents]; NSLog(@"arr原创 2014-10-28 19:29:37 · 1037 阅读 · 0 评论 -
文件的基本操作
#import "AppDelegate.h" /*________________________1.创建文件____________________________*/ /* //获取本地沙盒路径 NSString *homePath = NSHomeDirectory(); //设置文件路径 NSString *filePath原创 2014-10-28 19:33:03 · 677 阅读 · 1 评论 -
内存管理之引用计数
Main.m#import "Car.h"int main(int argc, const char * argv[]){ //创建一个对象 Car *car = [[Car alloc] init]; // 计数值:1-----alloc NSUInteger count = [car retainCount]; //引用计数 NSLog(@"1.c原创 2014-10-27 20:30:34 · 676 阅读 · 0 评论 -
出现( linker command failed with exit code 1)错误总结
这种问题,通常出现在添加第三方库文件或者多人开发时。这种问题一般是找不到文件而导致的链接错误。 我们可以从如下几个方面着手排查。1.以如下错误为例,如果是多人开发,你同步完成后发现出现如下的错误。[html] view plaincopyUndefined symbols for architecture转载 2014-11-06 10:59:38 · 969 阅读 · 0 评论 -
iOS 开发之协议-代理传值
刚开始做iOS开发的时候,对 protocol、delegate 的理解一直都是晕晕乎乎一知半解的状态,不知道两个UIViewController之间怎么进行传值。面试过几个童鞋,问道怎么用 delegate 对 两个 UIViewController 进行传值的时候,回答的都是模棱两可的。今天又有童鞋问我这个问题,所以干脆写个blog说明一下。1、协议(protocol),就是使转载 2014-11-23 18:13:10 · 978 阅读 · 0 评论 -
HTML解析之TFHpple 包的使用
1第三方API TFHpple包的下载地址:点击打开链接3.使用TFHpple的步骤。1)导入类文件:#import TFHpple.h2)包装URL获取data数据 ?123NSString *urlString = @http://www.weiphone.com/apple/new原创 2014-11-06 19:59:50 · 857 阅读 · 0 评论 -
category使用 objc_setAssociatedObject/objc_getAssociatedObject 实现添加属性
@interface NSObject (CategoryWithProperty)@property (nonatomic, strong) NSObject *property;@end@implementation NSObject (CategoryWithProperty)- (NSObject *)property { return objc_getAssoci原创 2016-05-16 13:35:04 · 357 阅读 · 0 评论 -
//播放时候,来电话的处理
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];原创 2016-06-03 10:58:10 · 645 阅读 · 0 评论 -
Unity4.x实现Native App启动Unity,制作混合应用(Integrate Native iOS App into Unity App)
相信很多朋友会遇到同样的问题,如何才能在iOS Native App里启动一个Unity App。比如制作一个应用程序需要通过Unity来演示三维画面,再或者是制作混合型的游戏的时候(内嵌UIWebView)。这个时候相信对于一直从事iOS开发的朋友一定非常想直接在iOS Native App里启动Unity。如果是在Unity3.x的时候可以完全自由的通过自定义AppDelegate转载 2016-06-03 11:16:22 · 1039 阅读 · 1 评论 -
ZHMethodSwizzingDemo
demo是对写好的一个NSObject的methodSwizzing分类进行的测试代码。替换主要是使用ClassB的funcB方法来替换ClassA的funcA方法,然后调用ClassA的funcA方法来查看是否替换成功。使用方法,包含两个NSObject+方法,例子:实例方法的替换(-方法)[NSObject zh_swizzleClass:[ClassA class转载 2016-06-29 12:13:55 · 372 阅读 · 0 评论 -
iOS中全局悬浮按钮,类似IPhone中的AssistiveTouch
前提:当时看到别人写过这个类似AssistiveTouch的demo,但是有问题,第一改变不了位置、第二切换页面后无法使用、第三运行时偶尔会崩溃。然后自己就去度娘、论坛中都查了一些资料,然后结合起来写了这么一个demo。 思路:实现全局 需要在 AppDelegate.m 文件中 didFinishLaunchingWithOptions 方法里面实现 1、新建一个 继承于 UIWindow 的转载 2016-07-12 12:00:20 · 2211 阅读 · 0 评论 -
iOS 控制器View加载顺序详细版
加载过程:1 一般情况下调用 init方法或者调用initWithNibName方法实例化UIViewController, 不管调用哪个方法都为调用initWithNibName(方法定义如下)- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil2 接着会调用loadView方转载 2016-09-30 14:04:49 · 558 阅读 · 0 评论 -
使用ccache加速xcode编译过程
install ccache前面已经介绍过如何安装ccache,这里不废话。要确保ccache 版本不低于3.19brew install ccache --HEAD如果之前安装了ccache release版本也没有关系,因为ccache release版本已经是3.19了。如何安装brew?前面也介绍过,不解释。可google homebrewccac原创 2017-07-24 14:38:20 · 1486 阅读 · 0 评论 -
App Store ipv6 审核一直被拒绝
年前上线的app突然之间在更新版本上线审核时一直被拒绝,原因如下:We discovered one or more bugs in your app when reviewed on iPad Air 2 running iOS 10.3.2 on Wi-Fi connected to an IPv6 network.Specifically, your app’s conten原创 2018-01-28 00:51:35 · 419 阅读 · 0 评论 -
苹果加急
https://developer.apple.com/contact/app-store/?topic=expediteDear apple, we found a critical bug, our users use WeChat login, sometimes will crash.In China, we have a lot of users are usin原创 2018-01-28 00:53:25 · 261 阅读 · 0 评论 -
【iOS】KVC 和 KVO 的使用场景
Key Value CodingKey Value Coding是cocoa的一个标准组成部分,它能让我们可以通过name(key)的方式访问property, 不必调用明确的property accssor, 如我们有个property叫做foo, 我们可以foo直接访问它,同样我们也可以用KVC来完成[Object valueForKey:@“foo”], 有同学就会问了, 这样做有什转载 2016-03-27 21:54:28 · 610 阅读 · 0 评论 -
RunLoop应用场景
滑动与图片刷新;当tableview的cell上有需要从网络获取的图片的时候,滚动tableView,异步线程会去加载图片,加载完成后主线程就会设置cell的图片,但是会造成卡顿。可以让设置图片的任务在CFRunLoopDefaultMode下进行,当滚动tableView的时候,RunLoop是在 UITrackingRunLoopMode 下进行,不去设置图片,而是当停止的时候,再去设置图原创 2016-03-27 21:50:12 · 1270 阅读 · 0 评论 -
解析数据文件之字符串转数组类型【里面是json格式化字典】类型
#pragma mark -处理数据,网络请求详细信息/*! * @brief 把格式化的JSON格式的字符串转换成字典 * @param jsonString JSON格式的字符串 * @return 返回字典 */- (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString{ if (jsonStrin原创 2014-12-04 20:13:16 · 1134 阅读 · 0 评论 -
RunTime(一)
对于runtime机制,在网上找到的资料大概就是怎么去用这些东西,以及查看runtime.h头文件中的实现,当然这确实是一种很好的学习方法,但是,其实我们还是不会知道runtime底层编译成C++语言之后做了什么? 查到一个大牛给资料,顿时对runtime有了一定认识!我们随便写一个小程序,代码如下: person.h#import @interface Person : N转载 2015-07-09 16:54:03 · 585 阅读 · 0 评论 -
swift与OC之间不得不知道的21点
swfit和OC间的 联系1.swift句尾不需要分号 ,除非你想在一行中写三行代码就加分号隔开。 2.swift不要写main函数 ,程序默认从上往下执行 3.swift不分.h和.m文件 ,一个类只有.swift一个文件 4.swift不在有地址的概念5.swift数据类型都会自动判断 , 只区分变量var 和常量let 6.强制转换格式反过来了原创 2015-07-13 09:29:58 · 598 阅读 · 0 评论 -
IOS多线程开发之GCD
GCD全称为Grand Central Dispatch 在IOS4才开始,用来实现多线程。它是IOS多线程抽象层次最高的一层,下面还有更加轻量级的Cocoa operations,和Thread。 当看到GCD的使用我仿佛看到了Android中的Handler和AsynTask。在主线程中任意方法中加入: dispatch_async(dispatch原创 2015-09-10 09:27:05 · 438 阅读 · 0 评论 -
ios获取系统时间
简单记录一下ios里面获取系统时间的方法,以后有别的更详细的功能再更新。NSString* date;NSDateFormatter* formatter = [[NSDateFormatteralloc]init]; [formattersetDateFormat:@"YYYY-MM-dd-20hh:mm:ss"]; date原创 2015-10-12 09:20:24 · 576 阅读 · 0 评论 -
//普通字符串转JSON字符串转字典
- (void)viewDidLoad { [super viewDidLoad]; //普通字符串 NSString *messageStr = @"{\"type\":3,\"class_id\":\"101446\",\"title\":\"test_\\u82f9\\u679c\",\"content\":\"123456\\u6d4b\\u8bd5\\u82f9\原创 2016-01-19 09:30:56 · 1523 阅读 · 0 评论 -
JS-OC交互专题1-截取网站字符串
oc文件- (void)viewDidLoad { [super viewDidLoad]; _webView.delegate = self; _webView.backgroundColor = [UIColor clearColor]; _webView.scalesPageToFit =YES; NSString *basePath = [[NS原创 2016-01-25 10:50:48 · 522 阅读 · 2 评论