相关疑难解决方法(0)

关于@synthesize的问题

当您从Xcode创建一个嵌入CoreData的新应用程序时,您可以在委托的实现文件中获得这些行:

@synthesize window=_window;

@synthesize managedObjectContext=__managedObjectContext;
Run Code Online (Sandbox Code Playgroud)

仅使用下划线或双倍之间有什么区别?只写作有什么区别:

@synthesize window;
Run Code Online (Sandbox Code Playgroud)

xcode objective-c

14
推荐指数
1
解决办法
4551
查看次数

Cocoa的这个双下划线是什么?

Objective-C中的单个下划线显然是为Apple的"内部"使用保留的(并且在Apple声明之前可用于私有实例变量).但是为什么他们会在他们的SQLiteBooks示例中为iPhone 使用 -underscore呢?请参阅从MasterViewController.m获取的此片段:

+ (EditingViewController *)editingViewController {
    // Instantiate the editing view controller if necessary.
    if (__editingViewController == nil) {
        __editingViewController = [[EditingViewController alloc] initWithNibName:@"EditingView" bundle:nil];
    }
    return __editingViewController;
}
Run Code Online (Sandbox Code Playgroud)

在这个论坛上提到了双重下划线,因为它与C有关 - 它是"compier的内部使用".我想我不知道这在这种情况下是如何适用的.

我在我的应用程序中需要一个ViewController,它的行为与SQLiteBooks示例项目中的一样,但是这个双下划线让我感到困惑.

cocoa objective-c double-underscore

6
推荐指数
2
解决办法
4301
查看次数

声明@synthesize时单引号和双引号的区别

在最近的Xcode 4.3项目模板中,一些@synthesze被声明为:

@synthesize window = _window;
@synthesize managedObjectContext = __managedObjectContext;
@synthesize managedObjectModel = __managedObjectModel;
@synthesize persistentStoreCoordinator = __persistentStoreCoordinator;
@synthesize navigationController = _navigationController;
Run Code Online (Sandbox Code Playgroud)

有些带有双下划线(__)作为前缀.为什么?

readonly属性有关吗?

@property (strong, nonatomic) UIWindow *window;
@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel;
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;
@property (strong, nonatomic) UINavigationController *navigationController;
Run Code Online (Sandbox Code Playgroud)

xcode objective-c

6
推荐指数
1
解决办法
484
查看次数

在带有一个或两个下划线的XCode模板中的ivars

有没有人知道为什么XCode模板(至少在XCode 4.3.2中)有一些带有两个下划线的ivars和一些只有一个的前缀?

例如,Master-Detail应用程序模板包含文件MasterViewController.m,其中可以找到:

@synthesize detailViewController = _detailViewController;
@synthesize fetchedResultsController = __fetchedResultsController;
@synthesize managedObjectContext = __managedObjectContext;
Run Code Online (Sandbox Code Playgroud)

谢谢.

cocoa-touch objective-c ios xcode4.3

3
推荐指数
1
解决办法
381
查看次数

在Objective-C中用下划线加前缀变量名是什么意思?

我注意到在许多社区Objective-C类和Apple的框架中,他们使用带有下划线的变量前缀的约定来命名一些变量,例如:_name.拥有下划线的原因是什么?我应该在自己的课堂上这样做吗?如果是的话我应该何时何地使用它?

cocoa naming conventions objective-c ios

2
推荐指数
1
解决办法
398
查看次数

Objective-C中"_"和"__"之间有什么区别?

我已经读过_(下划线)仅用于表示变量/ method/class仅供API使用,不应由其他程序员使用.

怎么样__(双下划线)?

在这个例子中 __block BOOL found = NO;

来自关于Block Objects的Apple Docs .

另外,任何人都可以帮助我理解指向指针的概念吗? **var 我已经阅读了一些关于它的答案,但并没有真正得到它.何时以及如何使用它?

syntax cocoa cocoa-touch objective-c

0
推荐指数
1
解决办法
1807
查看次数