virtualbox上osx的安装使用,修改虚拟硬盘大小

星期二, 一月 22nd, 2013 | ios | 没有评论

没买苹果机,只能装个虚拟机用用了,不过全屏后效果也还不错。
原来装过一次,不是很成功,需要引导,分辨率也是在启动时需要设置,所以这一次就想装个省事点的,就选择了iAtkos发布的改进版。
版本:virtualbox:4.2.6;osx:Mountain Lion 10.8.2
安装前提:据说需要intel的cpu,我机子是i5
下载:https://kat.ph/,搜索iAtkos
设置虚拟机:新建osx虚拟机,设置主要注意几点,1、系统版本选择64位;2、系统,扩展特性勾掉开启EFI
安装osx:设置虚拟机启动顺序,光驱第一,选择光盘(不需要装换格式,直接用dmg),按步骤安装系统
设置分辨率:1、osx启动设置:修改Extra目录下文件org.Chameleon.boot.plist,增加一项
Graphics Mode
1920x1080x32
修改是需要先复制出来文件,修改后替换原来文件(原来文件被锁定);
2、虚拟机设置:cd “C:\Program Files\Oracle\Virtualbox”,
vboxmanage setextradata “Name of virtual machine” “CustomVideoMode1” “1920x1080x32”
安装xcode:因为app store下载太慢,也是在kat上下载后,光盘加载安装的
共享文件:https://forums.virtualbox.org/viewtopic.php?f=22&t=38051

修改虚拟硬盘大小
发现osx在更新xcode跳出空间不足,用df —ah查看,发现硬盘只有1.1g没用,总容量也只有20G(虚拟硬盘最大设置的是30G,
估计安装系统时分区设置为20G)
1、增加虚拟硬盘大小:VBoxManage.exe modifyhd J:\osx.vdi –resize 30720 改为30G
2、修改osx分区大小:application->utiltities->Disk Utility,先verify,没错误再partion

object C基础

星期三, 一月 16th, 2013 | ios | 没有评论

这篇主要记录学习apple developer上的Programming with Objective-C的体会
1、类
类是创建对象的模板,接口是类对外的展示
(1)接口定义

1
2
3
4
5
6
7
 @interface Person : NSObject
 @property (readonly) NSString *firstName;
 @property (readonly) NSString *lastName;
 @property int yearOfBirth;
 - (void)sayHello;
 - (void)saySomething:(NSString *)someWords;
 @end

需要注意,名称必须唯一,所以一般会添加前缀,防止命名冲突(比如ZLWPerson)。
在方法前加-,代表这是一个实例方法。类方法前加+。
(2)类定义

1
2
3
4
5
6
7
8
9
10
#import "XYZPerson.h"
@implementation XYZPerson
- (void)sayHello {
    [self saySomething:@"Hello, world!"];
}
 
- (void)saySomething:(NSString *)someWords{
    NSLog(@"%@", someWords);
}
@end

如果要调用父类的方法[super saySomething:someWords];
(3)对象
方法调用

1
[zhoulw saySomething:@"shut up!"];

初始化(可带参数)

1
SomeObject *newObject = [[SomeObject alloc] initWithInt:30];

利用new初始化(不带参数,只是简化写法)

1
SomeObject *newObject = [SomeObject new];

利用工厂方法(实际上还是调用了初始化)

1
NSNumber *magicNumber = [NSNumber numberWithInt:42];

利用字面量

1
NSString *name = @"zlw";

nil:不同于java的null,不会抛异常

1
2
3
    if (somePerson) {
        // somePerson points to an object
    }

实例变量

1
2
3
4
5
6
   @synthesize firstName = ivar_firstName;
   ...
   NSString* firstName = [personZlw firstName];
   firstName = personZlw.firstName;
   firstName = ivar_firstName;
   [personZlw setFirstName:@"zhoulw"];

没有使用@synthesize,则实例变量名为_firstName;
@synthesize firstName,则实例变量名就是firstName;
可以不写property,定义实例变量,不过不建议使用;
在init方法中,直接使用实例变量赋值,而不用set方法(why?没有实例?);
get,set方法是原子操作
强引用,弱引用

1
2
   @property (weak) id delegate;
   NSObject * __weak weakVariable;

有些类不可以被弱引用,如NSTextView, NSFont and NSColorSpace

1
2
   @property (unsafe_unretained) NSObject *unsafeProperty;
   NSObject * __unsafe_unretained unsafeReference;

copy修饰

1
2
3
4
5
6
   NSMutableString *nameString = [NSMutableString stringWithString:@"John"];
   self.badgeView.firstName = nameString;
   [nameString appendString:@"ny"];
   ...
   //直接赋值时别忘记copy
   _instanceVariableForCopyProperty = [aString copy];

4、protocol
略,原来写了,忘记保存,懒得补
5、block

1
2
3
4
5
   void (^simpleBlock)(void) = ^{
        NSLog(@"This is a block");
   };
   ...
   simpleBlock();
1
2
3
4
5
6
   double (^multiplyTwoValues)(double, double) =
                              ^(double firstValue, double secondValue) {
                                  return firstValue * secondValue;
                              };
    double result = multiplyTwoValues(2,4);
    NSLog(@"The result is %f", result);
1
2
3
4
5
6
   int anInteger = 42;
    void (^testBlock)(void) = ^{
        NSLog(@"Integer is: %i", anInteger);
    };
    anInteger = 84;
    testBlock(); //42

__block block可以知道变量修改,并且block可以改变变量值

1
2
3
4
5
6
7
8
   __block int anInteger = 42;
    void (^testBlock)(void) = ^{
        NSLog(@"Integer is: %i", anInteger);
        anInteger = 100;
    };
    anInteger = 48;
    testBlock();//48
    NSLog(@"Value of original variable is now: %i", anInteger);//100
1
2
3
4
5
6
7
8
   typedef void (^XYZSimpleBlock)(void);
   XYZSimpleBlock anotherBlock = ^{
      ...
   };
   - (void)beginFetchWithCallbackBlock:(XYZSimpleBlock)callbackBlock {
      ...
      callbackBlock();
   }

Search

相关文章

文章分类

Links

Meta