一些小知識點(4)

作者:Love@YR
鏈接:http://blog.csdn.net/jingqiu880905/article/details/52623403
請尊重原創,謝謝!

  1. 關於數組的兩種寫法:
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.1http://localhost
http://127.0.0.1/~usernamehttp://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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章