English 中文(简体)
Obj-C/Cocoa instance/pointers/properties 需求帮助理解一个例子
原标题:Obj-C/Cocoa instance/pointers/properties Need help understanding an example

我试图在长时间的休息之后接手奥杰-C和皮涅茨,因此,Im 重读Apress 起点-3发展。

现在,我 struggl辛地争取在以下几个方面发挥领导作用:

#import "BlueViewController.h"

............

@synthesize blueViewController;

......

- (void)viewDidLoad {
    BlueViewController *blueController = [[BlueViewController alloc]
                            initWithNibName:@"BlueView" bundle:nil];

    self.blueViewController = blueController;

    [self.view insertSubview:blueController.view atIndex:0];

    //Why don t we use the following instead of the above?
    //[self.view insertSubview:self.blueViewController.view atIndex:0]?

    [blueController release];
    [superViewDidLoad];
}

对我来说,似乎更合乎逻辑的是,由于我们刚刚指定了蓝色主计长来自食其力,我们应当使用后者而不是前者。 例子背后的理由是什么? 我的错误是什么?

最佳回答

It comes down to clarity. Write the code that you find most readable.

I tend towards:

.h file

@property (nonatomic, retain) BlueViewController *blueController;

.m file

@synthesize blueController=_blueController;

and

- (void)viewDidLoad {
    _blueController = [[BlueViewController alloc]
                            initWithNibName:@"BlueView" bundle:nil];

    [self.view insertSubview:self.blueController.view atIndex:0];
    [superViewDidLoad];
}

That _ helps me helps me keep track of direct variable access (_blueController) versus access as a property (self.blueController).

问题回答

They re both pointing to the same reference. No difference, really. Your approach works as well.





相关问题
Asynchronous request to the server from background thread

I ve got the problem when I tried to do asynchronous requests to server from background thread. I ve never got results of those requests. Simple example which shows the problem: @protocol ...

objective-c: Calling a void function from another controller

i have a void, like -(void) doSomething in a specific controller. i can call it in this controller via [self doSomething], but i don t know how to call this void from another .m file. I want to call ...

ABPersonViewController Usage for displaying contact

Created a View based Project and added a contact to the AddressBook using ABAddressBookRef,ABRecordRef now i wanted to display the added contact ABPersonViewController is the method but how to use in ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

NSUndoManager and runModalForWindow:

I have a simple Core Data app which displays a list of entities in the main window. To create or add new entities, I use a second modal window with a separate managed object context so changes can be ...

NSMutableArray values becoming "invalid"

I m trying to show a database information in a tableview and then the detailed information in a view my problem is as follow: I created a NSMutableArray: NSMutableArray *myArray = [[NSMutableArray ...

iPhone numberpad with decimal point

I am writing an iPhone application which requires the user to enter several values that may contain a decimal point (currency values, percentages etc.). The number of decimal places in the values ...

热门标签