小编Bal*_*ick的帖子

如何检查Swift 3中的当前线程?

如何检查哪一个是Swift 3中的当前线程?

在Swift的早期版本中,可以通过执行以下操作来检查当前线程是否是主要线程:

NSThread.isMainThread()
Run Code Online (Sandbox Code Playgroud)

multithreading nsthread ios swift3

89
推荐指数
7
解决办法
3万
查看次数

如何使用IBOutletCollection将多个UIImageView连接到同一个插座?

我有10个UIImageViews做同样的事情(他们有一些void方法,用计时器改变他们的图像).我的UIImageView是一个插座,我想将所有10个imageView连接到同一个插座,但界面构建器不允许我.

我发现有一个解决方案,IBOutletCollection.任何人都可以向我解释如何使用它将多个imageView连接到同一个插座?

xcode objective-c uiimageview ios iboutletcollection

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

嵌入式二进制验证实用程序错误

从昨天起,Xcode在尝试在我的iPhone上运行我的WatchKit应用程序时做了蠢事.它给了我错误:

嵌入式二进制验证实用程序错误

错误:警告:是目录

它不是很有用,似乎它抱怨为我的Watchkit扩展目标配置配置文件.我想我按照这个答案正确设置了它.

这就是我设置个人资料的方式.三个App ID和六个配置文件(三个用于开发,三个用于分发).

主要应用: 在此输入图像描述

WatchKit扩展: 在此输入图像描述

WatchKit Watch App: 在此输入图像描述

xcode ios watchkit xcode6.3

15
推荐指数
3
解决办法
5203
查看次数

ALAssetPrivate超过其拥有的ALAssetsLibrary的生命周期

我试图获取photos.app中的所有图像并将它们显示在UICollectionView中.我有这个代码来检索图像:

ALAssetsLibrary *al = [ViewController defaultAssetsLibrary];

ALAssetsGroupEnumerationResultsBlock groupEnumerAtion = ^(ALAsset *result, NSUInteger index, BOOL *stop){

    if (result!=NULL) {

        if ([[result valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypePhoto]) {

            [imagesGotFromUserLibrary addObject:result];
        }

    }
};

ALAssetsLibraryGroupsEnumerationResultsBlock
libraryGroupsEnumeration = ^(ALAssetsGroup* group, BOOL* stop){
    [group setAssetsFilter:[ALAssetsFilter allPhotos]];

    if (group!=nil)
    {

        [group enumerateAssetsUsingBlock:groupEnumerAtion];
    }
    else
    {

        dispatch_async(dispatch_get_global_queue(0, 0), ^{
            GalleryCollectionViewController *otherController = [[GalleryCollectionViewController alloc] init];
            [otherController receiveImagesWithMutableArray:imagesGotFromUserLibrary];

        });
    }

};



al = [[ALAssetsLibrary alloc] init];
[al enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos
                       usingBlock:libraryGroupsEnumeration
                     failureBlock:^(NSError *error){
                         NSLog(@"ERROR: %@", error);
                     }];
Run Code Online (Sandbox Code Playgroud)

这是在viewDidLoad然后:

+ (ALAssetsLibrary *)defaultAssetsLibrary {
static …
Run Code Online (Sandbox Code Playgroud)

ios alassetslibrary

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

Safari推送通知

我想为我的网站实现推送通知(显然只在兼容的浏览器中作为Safari 7).我已经阅读了Apple文档,并且我已经成功创建了包含我的icon.iconset,我的certificate.p12,manifest.json和一个website.json的包.现在,当我第一次访问该网站时,我想向用户请求许可.如果他允许的话,我应该发送包裹.一切都很清楚,但我不知道如何继续下去.

如何从我的文件中创建推送包?我该如何精确签名?包应该总是一样的,所以我可以在我的mac上签名并上传到我的服务器只有一个包.

如果您有使用此技术的经验,请告诉我:)

safari push-notification safari-push-notifications

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

Objective-C 枚举在 Swift 中不可见

我有一个像这样在我的objective-c 头文件中声明的枚举:

typedef NS_ENUM(NSInteger, FontSize) {
    VerySmall = 12,
    Small = 14,
    Medium = 16,
    Big = 18
};
Run Code Online (Sandbox Code Playgroud)

然后在我的桥接头中我导入这个标头。

从我的 swift 代码中,当我尝试将“FontSize”声明为参数时,编译器会说“使用未声明的类型 FontSize”。

从开发人员指南来看,这应该是可能的。有人遇到同样的问题吗?

xcode objective-c swift

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

使用新的NSDate更新标签

我在NSDate中有今天的日期,我想在标签中显示这个NSDate.我希望每次秒数更改时都使用新的NSDate更改标签文本.我尝试使用NSTimer,但它与iPhone时钟不同步.有没有具体的东西可以直接更改标签?

nsdate nstimer uilabel ios

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

如何让用户所在的国家/地区始终使用英语?

在我的应用程序中,我有一个地理位置系统,用于将用户的国家/地区与我的代码中的字符串进行比较.这是类似的东西:

if (UserLocation.country == @"Switzerland") {
      //country is Switzerland
}
Run Code Online (Sandbox Code Playgroud)

如果设备的用户语言是英语,则此系统可正常工作.一些用户报告说它没有工作,并且他们有德语或意大利语的设备.

如何强制设备总是用英语给我一个国家的字符串?

xcode objective-c geolocation

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