作者:Love@YR
链接:http://blog.csdn.net/jingqiu880905/article/details/52623403
请尊重原创,谢谢!
- 关于数组的两种写法:
NSArray *arr = @[@"1faffd",[NSNumber numberWithInt:2],@"fda"];
NSLog(@"arr[2] is %@",arr[2]);
NSString *strArr[3] = {@"fd",@"pop",@"fuaihf"};//此时用的花括号而不是中括号
NSLog(@"strarr[1] is %p",strArr[1]);//打印地址
NSString *str1 = strArr[1];
NSLog(@"str1 is %@",str1);//打印值
。。。
2. 关于结构体 结构体指针 结构体数组
首先,结构体struct里不能放oc的类型,只能放c类型。如放NSString的类型会直接报arc forbids oc objects in struct
上个例子:
//.h里面
typedef struct Student{
int age;
const char *name;
}Stu;
//.m里面
//NSString 转化为 char *
const char *a = [@"XIAOzhang" UTF8String];
const char *b = [@"XIAOli" UTF8String];
const char *c = [@"XIAOhuang" UTF8String];
Stu stu0 = {18,a};
Stu stu1 = {19,b};
Stu stu2 = {20,c};
Stu *stu3 =&stu0;//结构体指针
stu3->age = 22;//只有指针能用-> 上面结构体的都用.
stu3->name=a;
//char * 转化为 NSString
NSLog(@"stu0.name is %@",[NSString stringWithCString:stu0.name encoding:NSUTF8StringEncoding]);//因%@只能打印oc对象,不能打印char *
NSLog(@"name is %@",[NSString stringWithCString:stu3->name encoding:NSUTF8StringEncoding]);
Stu stu[3] = {stu0, stu1, stu2};//结构体数组
NSLog(@"stu[1].name is %@",[NSString stringWithCString:stu[1].name encoding:NSUTF8StringEncoding]);//打印XIAOli
这里为什么加上Stu stu3 =&stu0;而不是直接Stu *stu3;然后stu3->age=22; 因为如果只定义了一个结构体指针却没有给它赋值的话此时它为NULL,没有为其分配内存空间,不能直接指向age。还有一种可以stu3=(Stu )malloc(sizeof(Stu));来为其开辟内存空间
3. []的优先级比*高
int *p1[10];//指针数组。 即装了10个int型指针的1个数组 先构成10个数组 数组的内容是指针
int (*p2)[10];//数组指针 即指向装了10个int数据的1个数组 的指针 指针名为p2
int a [10]={…..};
int *p = a;//指向一个数组 这个数组有10个int元素
c语言定义字符串:
char str1[] = “HelloWorld”; // 通过字符数组来定义字符串”HelloWorld”,数组中每个存储单元存放一个字符
char *str2 = “HelloWorld”; // 通过字符指针来定义字符串”HelloWorld”,指针str2指向一个存放字符串”HelloWorld”的连续地址单元的首地址
所以char* name[];这个不是字符数组了 是字符指针数组
4. 如同结构体(struct)和共用体(union)一样,枚举变量也可用不同的方式说明,即先定义后说明,同时定义说明或直接说明。
设有变量a,b,c被说明为上述的weekday,可采用下述任一种方式:
enum weekday{sun,mon,tue,wed,thu,fri,sat};
enum weekday a,b,c;
//或者为:
enum weekday{sun,mon,tue,wed,thu,fri,sat}a,b,c;
//或者为:
enum{sun,mon,tue,wed,thu,fri,sat}a,b,c;
typedef enum {
AFEncapsulationBoundaryPhase = 1,
AFHeaderPhase = 2,
AFBodyPhase = 3,
AFFinalBoundaryPhase = 4,
} AFHTTPBodyPartReadPhase;
AFHTTPBodyPartReadPhase _phase;
_phase = AFHeaderPhase;
//或者:
typedef NS_ENUM(NSInteger, AppType){
AppTypeIPhone = 1,
AppTypeIPhoneTest = 2
};
//或者:
typedef enum {
StockNameGangGu,
StockNameABGu
} StockNameStyle;
struct Student{
int age;
const char *name;
};
typedef struct Student Stu;
Stu stu0;
//或者为:
typedef struct Student{
int age;
const char *name;
}Stu;
Stu stu0;
//或者为:
typedef struct Student{
int age;
const char *name;
}Stu stu0, *stu3;
关于typedef:http://www.cnblogs.com/csyisong/archive/2009/01/09/1372363.html
5. 微信开发者工具在哪儿?-在微信公众平台左侧栏最下方“开发”-点击“开发者工具”-右侧web开发者工具,进入页面,点击web开发者工具文档的链接-下载地址下载。可电脑端模拟移动端微信调试。
小程序的web 开发者工具下载地址:
https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html?t=1474644089359
小程序的简易教程:
https://mp.weixin.qq.com/debug/wxadoc/dev/?t=1474974350348
小程序教程:
http://www.helloxcx.com
。。。。。。。
6. 关于mac下 web service的配置:
http://www.jianshu.com/p/d006a34a343f
http://jingyan.baidu.com/article/67508eb434539f9cca1ce4da.html
跟着第一篇文章一步一步做,如果发现某个文件编辑失败,可能是路径写错如etc写成ect,可能是没有加sudo,有时强制退出可能导致生成多个临时文件,可以进行Recover恢复原始文件。
vi编辑命令:
大写 I:插入
esc退出
:wq 退出保存 当前如果在其他模式需要先esc一下
:q!退出不保存
ctr+v visual block模式 可上下选中
另:多行注释 不显示#行需再查
php启动然后测试验证那块可以在系统根级目录去创建一个test.php访问即可测试php是否可用,可以显示php的版本号。
最后的结果就是在浏览器输入:
http://127.0.0.1 或 http://localhost
http://127.0.0.1/~username 或 http://localhost/~username
https://local.server.com/
(这个试了不行,可以用https://127.0.0.1 访问)
都显示It works!
系统级根目录为:/Library/WebServer/Documents
用户级目录:/Users/username/Sites/
( username 为当前用户名)
7. mac 下mysql的安装:
下载 mysql community server
http://dev.mysql.com/downloads/mysql/
解压完tar.gz文件后把文件夹移动到/usr/local/mysql目录
参考:http://www.widlabs.com/article/mac-os-x-install-mysql-with-tar-gz
(如果打不开可以参考:http://blog.csdn.net/u014351782/article/details/49865125 是同一篇文章)
中间会生成一个临时密码
再参考:http://www.imooc.com/article/8655
输入mysql -u root -p 命令后输入临时密码
然后修改密码,输入sql语句: SET PASSWORD = PASSWORD(‘EM@111’);注意括号为英文,分号不要漏掉。会提示:Query OK, 0 rows affected, 1 warning (0.00 sec) 修改成功。
下载workbench:http://dev.mysql.com/downloads/workbench/
安装dmg后从launchpad打开, 输入修改后的密码。
参考:http://blog.csdn.net/easonlv/article/details/51321068
参考:http://www.360doc.com/content/15/0712/23/12146850_484530531.shtml