小编Mar*_*ria的帖子

Xcode6,iOS8和(void)layoutSubviews

我有自定义的UILabel,可以在iOS6和iOS7上正常使用.但是在iOS8上,这个标签的(void)layoutSubviews方法永远不会被调用.我用initWithFrame创建了这个标签,所以应该调用这个方法 - 并在另一个iOS版本上调用它.iOS8中的autoLayout系统会发生什么?

uilabel layoutsubviews autolayout xcode6 ios8

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

Apple的可达性内存泄漏

我在非弧项目中使用了苹果的Reachabiliry课程.当我使用仪器运行以查找内存泄漏时,它会引用Reachability方法.这是问题所在:

+ (instancetype)reachabilityWithAddress:(const struct sockaddr_in *)hostAddress;
{
    SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithAddress(kCFAllocatorDefault, (const struct sockaddr *)hostAddress);

    WReachability* returnValue = NULL;

    if (reachability != NULL)
    {
        returnValue = [[self alloc] init];
        if (returnValue != NULL)
        {
            returnValue->reachabilityRef = reachability;
            returnValue->localWiFiRef = NO;
        }
    }
    return returnValue;
}
Run Code Online (Sandbox Code Playgroud)

泄漏的对象是可达性和returnValue.我知道SCNetworkReachabilityCreateWithAddress创建了一个新实例,我必须CFRelease它,但它发生在dealloc!

- (void)dealloc
{
    [self stopNotifier];
    if (reachabilityRef != NULL)
    {
        CFRelease(reachabilityRef);
    }
    [super dealloc];
}
Run Code Online (Sandbox Code Playgroud)

那么我该怎么做才能避免内存泄漏呢?

UPD:可能问题在于如何调用可达性?我用这个方法:

+ (instancetype)reachabilityForInternetConnection;
{
    struct sockaddr_in zeroAddress;
    bzero(&zeroAddress, sizeof(zeroAddress));
    zeroAddress.sin_len = sizeof(zeroAddress);
    zeroAddress.sin_family = AF_INET;

    return [self reachabilityWithAddress:&zeroAddress]; …
Run Code Online (Sandbox Code Playgroud)

xcode memory-leaks objective-c reachability ios

6
推荐指数
3
解决办法
3267
查看次数

iOS状态栏和UIView

有UIView,状态栏,iOS 7和iOS 6.使用iOS 6一切都很好:我的UIView(透明,在"点击设置目的地"标签下)出现在状态栏的正下方.这是图片:

在此输入图像描述

问题出在iOS 7上.这里:

在此输入图像描述

我希望UIView将处于状态栏下,而不是在它之下.我已经尝试检测iOS版本,如果是7或更高版本以编程方式更改UIView框架.但我的UI在故事板中有所有限制......所以它没有帮助.我该怎么做才能解决这个问题?

UPD:也许我真的应该让设计更适合iOS7?我会考虑一下,并感谢您的推荐!

user-interface objective-c ios

5
推荐指数
1
解决办法
4721
查看次数

UIBackButtonItem setTitlePositionAdjustment不起作用

我正在尝试为自定义UIBackButtonItem留下插图(应该有图像的位置),但这种方法什么都不做.为什么?

[item setTitlePositionAdjustment:UIOffsetMake(100, 0) forBarMetrics:UIBarMetricsDefault]
Run Code Online (Sandbox Code Playgroud)

objective-c ios

5
推荐指数
1
解决办法
1175
查看次数

关闭语法中的Swift weakSelf

我有这个代码来获取JSON:

Alamofire.request(.GET, worlds).responseJSON { (request, response, JSON, error) in
        println(JSON)
        //weakSelf.serverList = JSON
    }
Run Code Online (Sandbox Code Playgroud)

如何在这里申报weakSelf?我知道在我的情况下它应该是无主的,但我找不到正确的语法.当我尝试使用[unowned self] .serverList而不是注释行时,编译器显示错误"使用未解析的标识符'unowned'".我也尝试在块之前声明常量,如下所示:

unowned let uSelf = self
Run Code Online (Sandbox Code Playgroud)

它就像一个魅力,但我想了解如何在我的情况下使用[无主自我].

closures ios swift

5
推荐指数
1
解决办法
2803
查看次数

如果我使用另一台mac,证书和配置文件是什么?

问题是:我有一个新的mac,需要将其设置为开发.但我的证书和配置文件保留在其他计算机上,因此我无法再从中恢复它们.

我发现了这个:https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html#//apple_ref/doc/uid/TP40012582-CH31-SW34

但是有必要撤销我的旧证书并再制作一张证书吗?如果我不是我们小组的管理员,我怎么能这样做呢?最后一个问题 - 如何处理配置文件?在我(如果需要)更改我的证书后,它应该以某种方式改变吗?

xcode certificate ios provisioning-profile

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