
IOS/MAC
文章平均质量分 50
IOS/MAC
猿来这样1
编程圈子,谢厂节的博客
展开
-
IOS 开发学习1 基础知识
一。MacOS苹果公司为Mac系列产品开发的专属操作系统,基于UNIX系统,是PC机系统。开发工具XCode,可以为MacOS和IOS平台开发程序。常用快捷键:Command+C:复制Command+X:剪切Command+V:粘贴Command+Z:回退Command+S:保存Command+A:全选常用扩展名:.app:可运行的应用程序.dmg:应用程序安原创 2015-01-13 08:12:14 · 835 阅读 · 0 评论 -
IOS 开发学习2 C语言中的字符串处理
一、C语言中字符串用字符数组表示。字符串要以'\0'结束,表示ASCII码值为0的字符。如:二、字符串定义:#include int main(int argc,const char *argv[]){ char s[] = {'h','e','\0'}; char s原创 2015-01-14 08:28:48 · 917 阅读 · 0 评论 -
IOS 开发学习三 指针
一。直接引用char a ;a=3;系统自动将变量a转换为变量的存储地址;二。间接引用C语言中还有一种“间接引用”的方式,char a;char *b; //只能指向char类型的变量,这里*只是指b是个指针,没有特殊含义b=&a; //让b指向a 也可以char *b=&a; &取地址运算符。*b=10; //找b中地址对应的原创 2015-01-14 22:39:12 · 967 阅读 · 0 评论 -
IOS 开发学习四 预处理
一、宏定义1、无参数宏定义#include #define NUM 6int main(int argc,const char* argv[]){ int a[NUM]={1,2,3,4,5,6}; for(int i=0;i<NUM;i++){;}}2、有参数宏定义#include #define sum(a,b) ((a)+(b)) //原创 2015-01-15 08:08:20 · 1043 阅读 · 0 评论 -
IOS 开发学习五 数据类型
命名应当直观且可以拼读,可望文知意,便于记忆和阅读。标识符最好采用英文单词或其组合,不允许使用拼音。程序中的英文单词一般不要太复杂,用词应当准确。命名的长度应当符合“min-length && max-information”原则。C 是一种简洁的语言, 命名也应该是简洁的。例如变量名MaxVal 就比MaxValueUntilOverflow 好用。标识符的长度一般不要过长,较长的单词可原创 2015-01-15 20:08:35 · 832 阅读 · 0 评论 -
IOS 开发学习六 extern 和 static 对函数的作用
一、extern 与函数如果一个程序有多个.c源文件 ,每个源文件在编译后会对应一个.obj文件 ,这些目标文件之间可能有关联,把它们链接在一起再生成可执行文件 。外部函数:当前文件定义的函数允许其他文件访问。不可以有同名的名部函数;内部函数:当前文件定义的函数不允许其它文件访问、调用,只能在内部使用,称为内部函数。内部函数可以重名。main.c//// main.c/原创 2015-02-12 18:41:18 · 2952 阅读 · 0 评论 -
IOS 开发学习七 二维码扫描功能(ZBar SDK)
1.下载:点击打开链接2.拖动下载的sdk到项目里,选择 copy3.在AppDelegate.m里加代码:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ //your code [ZBar原创 2015-04-29 16:11:06 · 1946 阅读 · 0 评论 -
IOS 学习八 代码创建UIButton UIImage
#import "WashViewController.h"@interface WashViewController ()@end@implementation WashViewController-(void)btnClik{ NSLog(@"Touch"); }- (void)viewDidLoad { [super viewDidLoad];原创 2015-04-30 08:46:29 · 1446 阅读 · 0 评论 -
IOS 学习九 Navigation Controller 的使用示例
1.新建Single View Application项目命名为RecipeBook2.选中当前的ViewController,点击菜单Editor-Embed in-Navigation Controller, 这样把当前ViewController转为Navigation Controller3.在第二个ViewController里,放一个TableView,修改ViewContro原创 2015-04-30 16:42:38 · 970 阅读 · 0 评论 -
IOS开发学习十 沙盒查看
1.设置可以查看隐藏文件显示Mac隐藏文件的命令:defaultswritecom.apple.finderAppleShowAllFiles -booltrue点左上角苹果图标-强制退出-Finder-重新开启。点击前往-上层文件夹-找到资源库文件夹打开资源库后找到/Application Support/iPhone Simulator/文件夹。这里原创 2015-05-12 10:38:09 · 795 阅读 · 0 评论 -
IOS 开发学习十一 XCODE接ipad真机调试
一、申请证书1.打开钥匙串2.点左上角菜单“证书助理”,“从证书颁发机构请求证书”3.填写信息点击“继续”,选择保存位置到桌面片刻后,点击完成。打开网址:https://developer.apple.com/ios/manage/devices/index.action选择:选择Development点击Certificate Signin...原创 2015-05-13 11:14:37 · 10899 阅读 · 0 评论 -
IOS 开发学习十二 Bundle使用及文件引用
1.在xcode外创建一个文件夹,命令为app.bundle(必须为.bundle扩展名)以后打开此文件夹,要鼠标右键-显示包内容,直接双击不行。2.加到xcode项目里3.代码获取里面文件路径:资源路径:NSString *bundlePath = [[NSBundle mainBundle] resourcePath];文件路径: NSString *ur原创 2015-05-14 09:24:15 · 5875 阅读 · 0 评论 -
IOS 开发学习十三 Document目录的使用
每个ios应用程序运行在自己的沙盒里,使用模拟器时,每次程序启动的位置可能显示这样的:/Users/xiechangjie/Library/Developer/CoreSimulator/Devices/4AF2B6F4-942E-4A8A-9385-4F7DE438F06A/data/Containers/Data/Application/EF178531-EA1D-4B6C-B1DD-BA原创 2015-05-14 10:00:45 · 2439 阅读 · 0 评论 -
IOS 开发学习 十四 与CGRect相关的几个结构体和画图有关的几个函数
aView.center = CGPointMake(150, 150); // set centeraView.frame = CGRectMake( 100, 200, aView.frame.size.width, aView.frame.size.height ); // set new position exactlyaView.frame = CGRectOffset( aVi原创 2015-05-18 13:41:28 · 1908 阅读 · 0 评论 -
IOS 开发学习十五 自定义控件
一。非常简单的自定义控件1.建立xcode项目2.新建自定义控件类,继承UIView,修改头文件代码如下:#import @interface WasherFunsItemsViewController : UIView@property (retain,nonatomic)UIImage *image;@end修改m文件如下:#import "WasherFuns原创 2015-05-19 21:59:39 · 609 阅读 · 0 评论 -
IOS 开发学习十六 UIActionSheet的使用
1.修改头文件,@interface WasherFunsContentViewController : UIViewController{ }2.事件:- (IBAction)showSheet:(id)sender { UIActionSheet *actionSheet = [[UIActionSheet alloc]原创 2015-05-20 10:14:30 · 779 阅读 · 0 评论 -
IOS 开发学习 十七MAC上安装使用homebrew
1.安装网址:http://brew.sh/index_zh-cn.htmlgit托管地址:https://github.com/Homebrew/homebrew/tree/master/share/doc/homebrewhomebrew是maxos下的套件管理器在命令行输入命令:ruby -e "$(curl -fsSL https://raw.githubusercon原创 2015-05-25 08:59:55 · 937 阅读 · 0 评论 -
IOS 开发学习十八 包管理工具 CocoaPods的使用
一、简介开发IOS应用时,经常会用到一些第三方开源类库,如JSONKit、AFNetWorking、QRCode等。一个类库可能还会引用其它类库。手动去一个个加载就显得比较麻烦。而CocoaPods就是用来解决类库引用总是的,它类似于PHP上的Composer、JAVA上的Maven,也许与Linux平台的apt-get命令也有相似之处。官网地址:https://cocoapods.o...原创 2015-05-25 09:52:22 · 4951 阅读 · 1 评论 -
IOS 开发学习十九 二维码扫描-QRCodeReaderViewController
一 简单ZXing(zebra crossing)可以处理1维码和2维码,支持下面这些格式:Supported Formats1D product1D industrial2DUPC-ACode 39QR CodeUPC-ECode 93Data MatrixEAN-8Code 128Aztec原创 2015-05-25 10:41:43 · 8105 阅读 · 0 评论 -
IOS 开发学习二十 数据持久化:读写属性列表示例
//// PropertiesUtils.m// smarthome//// Created by 谢厂节 on 15/5/25.// Copyright (c) 2015年 WHR. All rights reserved.//#import "PropertiesUtils.h"@implementation PropertiesUtils-(void)sav原创 2015-05-25 16:09:52 · 757 阅读 · 0 评论 -
IOS 开发学习二十一 instruments使用 quick start
官方网址:https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/Introduction/Introduction.html中文PDF文档:http://cdn.cocimg.com/bbs/attachment/Fid_6/6_244原创 2015-05-26 08:52:53 · 1435 阅读 · 0 评论 -
IOS开发学习二十二 网络程序开发时数据监控
开发网络程序时,我们能够直观看到往来数据,对开发是十分便利的。这里提供了几种方法:一、虚拟网卡1.在iPhone或iPad上创建一个RVI(remote virtual interface)虚拟网卡用usb把设备和mac相连接,打开命令行工具,输入命令:rvictl -s abcdef01234563e91f1f2f8a8cb0841d2dafeebbc这里那一长串东西是设翻译 2015-05-26 13:18:02 · 1766 阅读 · 0 评论 -
IOS 开发学习二十三 手势 切换UIView
- (void)viewDidLoad { [super viewDidLoad]; [self connectServer:HOST_IP port:HOST_PORT]; ///顶部工具栏 washerHead=[[WasherHead alloc]initWithSender:self]; ///手势 [self gesture];}-(原创 2015-05-26 17:20:54 · 968 阅读 · 0 评论 -
IOS 开发学习24 单例模式
static SocketUtils *_instance;/**第2步: 分配内存孔家时都会调用这个方法. 保证分配内存alloc时都相同*/+(id)allocWithZone:(struct _NSZone *)zone{ //调用dispatch_once保证在多线程中也只被实例化一次 static dispatch_once_t onceToken; dis原创 2015-05-27 15:04:16 · 690 阅读 · 0 评论 -
IOS 开发学习25 NSData 的一些基本操作
1.NSString转NSDataNSString *aString = @"1234abcd";NSData *aData = [aString dataUsingEncoding: NSUTF8StringEncoding]; 2.NSData转NSStringNSString *aString = [[NSString alloc] initWithData:adata原创 2015-05-28 09:32:52 · 3376 阅读 · 0 评论 -
IOS 开发学习26 NSDictionary的一些操作
字典//创建字典 NSDictionary *dic1 = [NSDictionary dictionaryWithObject:@"value" forKey:@"key"]; //创建多个值字典NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:原创 2015-05-28 14:54:16 · 872 阅读 · 0 评论 -
IOS开发学习27 ObjectC 自带json解析方法的使用
1.生成json字符串NSMutableDictionary * header=[NSMutableDictionary dictionaryWithObjectsAndKeys:@"2015-02-03 19:15:00",@"timestamp",nil];NSError *error=nil;NSData *jsonData=[NSJSONSerialization dataWit原创 2015-05-29 08:11:20 · 1777 阅读 · 0 评论 -
IOS 开发学习28 NSArray 基本用法
//定义NSObject *obj = [[NSObject alloc]init]; NSArray *array = [NSArray arrayWithObjects: @"a", obj,原创 2015-05-29 08:50:08 · 760 阅读 · 0 评论 -
IOS 开发学习29 Socket框架 AsynSocket的使用
1.项目地址:https://github.com/robbiehanson/CocoaAsyncSocket可以使用Podfile安装pod 'CocoaAsyncSocket', '~> 7.4.1'原创 2015-05-29 14:57:07 · 1975 阅读 · 0 评论 -
IOS 开发学习30 UITableView的使用总结
一个简单的示例#import <UIKit/UIKit.h>@interface ViewController : UITableViewController<UITableViewDataSource,UITableViewDelegate>@property (nonatomic, retain) NSArray *dataList;@property (nonatomic, retain)原创 2015-06-03 09:11:27 · 1034 阅读 · 0 评论 -
IOS开发学习31 ObjectC 实现自定义Event
跨类的通讯,可以使用Notification,也可以使用Event。这里记录一下实现Event的方法: 首先,定义的类要从UIControl继承。SocketUtils类 子controlSocketUtils头文件#import <UIKit/UIKit.h>#import "AsyncSocket.h"@interface SocketUtils : UIControl{}enum {原创 2015-06-03 17:08:14 · 1322 阅读 · 0 评论 -
IOS 开发学习32 actionSheet的使用
头文件@interface sheetviewViewController : UIViewController<UIActionSheetDelegate> @end 弹出actionSheet UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle原创 2015-06-04 10:17:39 · 1128 阅读 · 0 评论 -
IOS 开发学习33 使用sqlite3
sqlite3 命令行简单使用sqlite3 路径 //打开数据库路径连接 select * from sqlite_master where type=”table”; //显示所有表 select * from testable; //显示某张表数据 .help //查看帮助 .q原创 2015-06-09 13:40:31 · 2244 阅读 · 0 评论 -
IOS 开发学习34 使用webview
1 基本使用#import <UIKit/UIKit.h>@interface ViewController : UIViewController<UIWebViewDelegate>@end#import "ViewController.h"@interface ViewController (){ UIWebView *webview;}@end@implementation Vi原创 2015-06-09 17:25:28 · 802 阅读 · 0 评论 -
iOS 开发学习35 本地化
增新语言打开Project-Info-Localizations点击Localization下的+ 新增语言定义多语言文件新增String Files在Supporting Files上,新增String Files,命名为Localizable.strings 设置设置完显示如下: 字符串本地化定义Localizable.strings(English)"welcome"="Welcome";原创 2015-06-23 10:56:00 · 974 阅读 · 0 评论 -
iOS 开发学习36 reveal使用
安装打开:reveal 选择:打开xcode项目,把reveal.framework拖到项目里设置Other Linker Flags 如果在运行的时候,报下面错误: Undefined symbols for architecture i386: “_deflate”, referenced from: -[IBAHTTPJSONResponse initWith原创 2015-06-24 14:31:08 · 2094 阅读 · 0 评论 -
IOS 开发学习37 的Architecture与iphone版本对应关系
简介Arm是处理器是移动设备上占用率最大的处理器。 armv6、armv7、armv7s、arm64都是arm处理器的指令集。通常指令是向下兼容的。在模拟器运行时,iOS模拟器运行的是x86指令集。只有在真机上,才会对执行arm指令集。 如果出现错误: “OBJC_CLASS$_xx文件名”, referenced from: linker command failed with原创 2015-06-24 16:13:47 · 2793 阅读 · 0 评论 -
iOS 开发学习38 UIView嵌套UITableView
为了在UITableView里固定footer,在网上看到这样一段程序,但测试没起作用,这里仅作记录,以后理解了再回头来分析。- (void)scrollViewDidScroll:(UIScrollView *)scrollView { CGFloat sectionFooterHeight = 40; CGFloat ButtomHeight = scrollView.conten原创 2015-06-24 16:17:39 · 1784 阅读 · 0 评论 -
iOS 开发学习39 简单学习反射的部分用法
内省在程序运行时获取对象的类型根据类的名称创建实例 Class classname=NSClassFromString(@"ClassName"); id obj=[[classname alloc]init];判断是否是类或子类的实例 -(BOOL)isKindOfClass:classObj判断是否是这个类的实例 -(BOOL)isMemb原创 2015-06-25 13:35:10 · 787 阅读 · 0 评论 -
iOS 开发学习40 自动布局约束
简介iOS设备目前有多种屏幕大小。在之前文章里介绍了一些iOS屏幕的尺寸(点击查看)。多样化的屏幕给开发布局带来了一定的困难。约束布局通过描述元素的相对关系来实现自动适配,降低通过代码布局的难度。方法第一步要确保story board的Use Autolayout是选中的。 约束布局大致有三种方式:在story board上在手工布局操作示例:两个控件设置一样的宽度 选中要操作的两个控件,原创 2015-06-25 19:10:14 · 1372 阅读 · 0 评论