小编Alp*_*sta的帖子

为什么在iOS中使用前导下划线重命名合成属性?

可能重复:
cocoa objective-c类中变量前面的下划线如何工作?

在Xcode 4中创建新项目时,样板代码在将实现文件中的ivars合成为时,会添加下划线字符:

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

要么:

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

有人能告诉我这里完成了什么吗?我不是一个完整的润滑剂,但这是客观的一个方面 - 我不明白.

另一个困惑点; 在app委托实现中,在如上所述合成窗口iVar之后,在应用程序didFinishLaunchingWithOptions:方法中,使用self引用窗口和viewController ivars:

self.window.rootViewController = self.viewController
[self.window makeKeyAndVisible];
Run Code Online (Sandbox Code Playgroud)

但是在dealloc方法中它是_window或_viewController

谢谢

coding-style objective-c ios4

126
推荐指数
3
解决办法
4万
查看次数

如何在Xcode 4.2中启用项目范围的ARC

我有一个iOS应用程序,我想转换为使用ARC.我只是使用迁移工具,但在预览阶段它一直出错.

我知道我可以-fobjc-arc在逐个文件的基础上使用编译器指令,但我想在整个项目中启用ARC,然后使用关闭各个类-fno-objc-arc.

4.2中的新项目默认使用ARC,因此必须在某处使用交换机.

任何人都可以帮助我将项目转换为 ARC

xcode ios4 ios xcode4

50
推荐指数
3
解决办法
5万
查看次数

更改UIBackButtonItem标题

我有一个基于navigationController的应用程序.我想更改根视图控制器的后退按钮的标题.我在rootViewController的viewDidLoad方法中尝试了以下代码,但没有成功:

self.navigationItem.backBarButtonItem.title = @"Back";
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

cocoa-touch

30
推荐指数
4
解决办法
2万
查看次数

UICollectionView在IB中不包含UICollectionViewCell

我正在尝试将UICollectionView添加到IB中的.nib文件中.我已经完成了一些教程并没有遇到任何问题.

在我现有的应用程序中,当我将集合视图拖到IB中的视图中然后展开对象时,CollectionView Flow Layout就在那里,但是没有集合视图单元格.我也无法将单元格拖放到集合视图中.此外,集合视图的显示方式也不同,显示的是单元格网格的图像,而不是普通的白色框.

我尝试使用nib创建一个新的视图控制器,并在添加collectionView时具有相同的结果.

这个应用程序针对iOS 4.2,但我已将部署目标更改为iOS 6.

在任何新创建的项目中,我都没有这种行为.

xcode interface-builder ios6 uicollectionview

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

为什么我的应用程序在使用[NSAttributedString initWithData]时进行后台处理时崩溃

我有一个管理UICollectionView的viewController.我有一个从cellForItemAtIndexPath调用的辅助方法,它为单元格中的标签提供NSAttributedString.helper方法从html字符串格式化NSAttributedString.当移动到后台时应用程序会崩溃,但前提是indexPath.item大于1.换句话说,我可以退出应用程序而不会从第一个或第二个单元格崩溃,但是在第三个,第四个,第四个,. .. 细胞.

这是我的帮助方法和堆栈跟踪.知道为什么我在退出应用程序时崩溃了吗?

#pragma mark - === Utility Methods === -

- (NSAttributedString *)stepDescriptionStringForIndexPath:(NSIndexPath *)indexPath {

    NSString *headerString;
    NSString *htmlString;
    NSString *categoryString = [NSString stringWithFormat:@"Category: %@", self.knot.category.categoryName];
    NSString *abokString = [NSString stringWithFormat:@"ABOK #: %@", self.knot.abokNumber];
    NSMutableString *activitiesString = [NSMutableString stringWithCapacity:10];
    [activitiesString appendString:@"Activities: "];

    // build a string of activities to append to the description html
    NSArray *activities = [self.knot.activities allObjects];
    if ([activities count] > 0) {
        int counter = 1;
        for (Activity *activity in activities) {
            [activitiesString appendString:activity.activityName];
            if …
Run Code Online (Sandbox Code Playgroud)

ios

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

在团队环境中进行iPhone临时分发

我是一名开发多个iPhone应用程序的开发人员.我是Apple dev门户团队的管理员.我们团队的代理人不是开发人员.我理解,只有代理可以请求临时部署证书,并准备应用程序以进行临时分发.

我假设代理可以生成证书并将它们传递给我,以便我可以为临时分发配置和构建应用程序,但我已阅读有关在xCode中使用多个证书的恐怖故事.刚刚在设备上进行开发测试就足够复杂了!

有人处理过这个问题吗?在xCode中使用多个证书有哪些陷阱?我想我还需要在我的钥匙串中使用代理公钥和私钥.

iphone

7
推荐指数
2
解决办法
4012
查看次数

CoreData一对多和反向关系问题

我试图将一组数据导入CoreData persistentStore.这是将在运行时呈现给用户的只读数据.

我有一个名为"Category"的实体,它与一个名为"Item"的实体有一对多的关系,后者又与Category有反向关系.

当我向上下文添加项目时,如何将它们与正确的类别相关联?我可以在SQLite dB中看到它是通过向Item表添加Category字段来完成的,并且可能使用Categories主键进行关系.但PK是幕后的...有没有一种方法来建立连接?

我还在我的Category类中看到CoreData生成的方法用于添加Items,但我假设这些是alos幕后方法,允许CoreData维护关系:

    @interface Category (CoreDataGeneratedAccessors)

- (void)addItemObject:(Item *)value;
- (void)removeItemObject:(Item *)value;
- (void)addItems:(NSSet *)value;
- (void)removeItems:(NSSet *)value;

@end
Run Code Online (Sandbox Code Playgroud)

我在编程指南中读到CoreData自动处理关系的另一面,但我无法弄清楚如何添加项目时如何进行类别的初始链接.

谢谢

JK

iphone core-data

7
推荐指数
1
解决办法
7864
查看次数

如何确定iPhone震动的方向

我正在使用加速度计在UIScrollVIew中滚动多个子视图.我希望当用户向右轻拂iPhone时,视图(纵向)向右滚动,当向左轻拂设备时,我希望向左滚动.

我想我只能通过注意正x或负x加速度值来做到这一点,但我发现这些值通常是正值和负值的混合.我将地板设置为1.5g以消除无抖动,并且在0.5秒的持续时间内查看x值.

我确信有一种用于确定轻弹整体方向的三角法,并且您必须在轻弹动作的持续时间内测量值.我也确定有人已经把这个问题搞定了.

有什么想法吗?

谢谢

iphone accelerometer

4
推荐指数
2
解决办法
3039
查看次数

UIScrollView和scrollRectToVisible:动画:

我有一个分页UIScrollView,可以浏览多个全屏图像.我正在平铺页面,动态排队和出列UIViews作为滚动视图页面通过图像集合,基于Apple示例代码.

我有一个工具栏按钮,调用scrollRectToVisible:animated:将UIScrollView移动到特定图像.这非常有效.

问题是,如果您在UIScrollView中单击一下,它会在触摸按钮之前滚动回显示的页面,并且scrollRectToVisible:animated:方法调用滚动视图.

如果您的触摸正在移动,UIScrollView将按预期滚动,并且后续触摸不会导致UIScrollView移回原始页面.

我该如何防止这种行为?

谢谢

JK

iphone uiscrollview

4
推荐指数
1
解决办法
5758
查看次数

将子视图延迟加载到非分页UIScrollView中

我正在尝试实现类似幻灯片的UIScrollView,它将填充目录页面的缩略图.选择缩略图图像将使主UIScrollView移动到所选页面.目录可能包含100 - 200页,我只想在需要时懒洋洋地加载它们.

我在启用了分页的UIScrollView中完成了此操作,但在非分页方案中没有看到任何最佳方法.在任何时候UIScrollView中都会显示6个缩略图(滚动视图时为+ 1).我想在滚动视图时出列并重用缩略图的UIView,就像我在主UIScrollView(这是一个分页滚动视图)中所做的那样.

谢谢 -

JK

iphone uiscrollview

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