小编use*_*037的帖子

非'@ objc'方法不满足'@objc'协议的可选要求

概述:

  • 我有一个协议P1,它提供了Objective-C可选功能之一的默认实现.
  • 当我提供可选功能的默认实现时,会出现警告

编译器警告:

Non-'@objc' method 'presentationController(_:viewControllerForAdaptivePresentationStyle:)' does not satisfy optional requirement of '@objc' protocol 'UIAdaptivePresentationControllerDelegate'
Run Code Online (Sandbox Code Playgroud)

版:

  • 斯威夫特:3
  • Xcode:8(公开发布)

尝试:

  • 尝试添加@objc但没有帮助

题:

  • 我该如何解决这个问题?
  • 有工作吗?

码:

@objc protocol P1 : UIAdaptivePresentationControllerDelegate {

}

extension P1 where Self : UIViewController {

    func presentationController(_ controller: UIPresentationController, viewControllerForAdaptivePresentationStyle style: UIModalPresentationStyle) -> UIViewController? {
        return UIViewController()
    }
}


class A : UIViewController, P1 {

}
Run Code Online (Sandbox Code Playgroud)

swift swift-protocols swift3

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

iOS AutoLayout - 获取帧大小宽度

我正在使用iOS 6自动布局进行开发

我想记录一条显示视图框宽的消息.

我可以在屏幕上看到textView.

但我得到的宽度和高度为零,我错过了什么?

NSLog(@"textView    = %p", self.textView);
NSLog(@"height      = %f", self.textView.frame.size.height);
NSLog(@"width       = %f", self.textView.frame.size.width);

textView    = 0x882de00
height      = 0.000000
width       = 0.000000
Run Code Online (Sandbox Code Playgroud)

nslog ios autolayout

58
推荐指数
7
解决办法
6万
查看次数

iOS - UIBarButtonItem标识符 - 用于创建"设置"齿轮按钮的选项

我想创建一个UIBarButtonItem来表示应用程序的设置(齿轮).目前我只能找到一个选项来创建UIBarButtonItem(界面生成器>属性检查器>标识符),如"添加"(+),"编辑","完成","取消"等

我找不到创建设置(齿轮)图标的选项.有没有办法在界面生成器或代码中执行此操作?

或者我是否必须创建图像,然后创建图像?

xcode interface-builder uibarbuttonitem ios

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

iOS - Xcode模拟器上的颜色与设备上的颜色不同

概观

我的iPhone应用程序在模拟器(iMac)中的背景颜色看起来与设备上的颜色(iPhone 3GS)不同.

编辑(以下部分已添加)

以下各项不同:

  1. 故事板颜色(xib文件)
  2. 模拟器颜色
  3. 设备颜色

我想我应该了解它在设备上的外观.

问题

  1. 这是其他开发人员面临的常见问题吗?有没有办法匹配颜色(系统程序)?
  2. 不同版本的iPhone(3gs/4/4s)或所有颜色的颜色会有所不同吗?
  3. 我错过了什么,我应该使用任何特定的颜色配置文件吗?
  4. 有什么像经验法则,RGB值会有一定的百分比变化吗?
  5. 在iPhone 4和4S中,颜色是否与模拟器匹配?(我没有iPhone4和4S,所以我不确定.)

iphone color-scheme colors ios ios-simulator

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

来自 ObservableObject 的绑定值

目的:

我有一个模型,它是一个ObservableObject. 它有一个Bool属性,我想用这个Bool属性来初始化一个@Binding变量。

问题:

  1. 如何将@ObservableObjecta转换为 a @Binding
  2. 创建 a@State是初始化 a 的唯一方法@Binding吗?

笔记:

  • 我知道我可以使用@ObservedObject/ @EnvironmentObject,而且我看到它很有用,但我不确定一个简单的按钮是否需要访问整个模型。
  • 还是我的理解不正确?

代码:

import SwiftUI
import Combine
import SwiftUI
import PlaygroundSupport

class Car : ObservableObject {

    @Published var isReadyForSale = true
}

struct SaleButton : View {

    @Binding var isOn : Bool

    var body: some View {

        Button(action: {

            self.isOn.toggle()
        }) {
            Text(isOn ? "On" : "Off")
        }
    } …
Run Code Online (Sandbox Code Playgroud)

swift swiftui combine

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

在IPA/Archive中检查并删除不支持的体系结构[x86_64,i386]

问题:

在将应用程序提交到App Store时,会报告以下错误:

Unsupported Architecture. Your executable contains unsupported architecture '[x86_64, i386]

问题:

  1. 如何解决上述错误?

  2. 如何检查存档或IPA使用的体系结构?

  3. 如何确保Release存档不包含x86_64i386(模拟器体系结构).

    • 它是否只能通过脚本或是否有设置Build Settings或在哪里?

xcode app-store ios

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

iOS - 表格视图 - 静态单元格(已分组) - 更改节标题文本颜色

概观

我有一个带有表视图的iOS项目,其中包含以下规范:

  • 静态单元格(内容未动态填充)
  • 风格分组

  1. 如何更改静态表视图的节头的文本颜色?

uitableview ios

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

适用于Swift的Apple推荐日志记录方法

注意:

这不是链接问题的重复

目标:

  • 我不是在寻找printvs NSLog差异
  • 事实上我不想使用其中任何一个(目前使用print)
  • 我正在寻找一种Apple推荐的方式,似乎无法找到命令/文档,我只知道它存在.

目前的实施:

目前我正在使用print具有一些全局功能的语句

  1. 处理错误的推荐方法/方法是什么(我不想使用NSLog,因为他们会写入设备的控制台)
  2. 这仅用于开发期间的调试目的

xcode error-logging ios swift oslog

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

iOS - 自定义配置 - "没有这样的模块"

在我的iOS应用程序,我想区分的环境,使网络API调用适当的环境(Development,StagingProduction).

为此我创建了一个configuration.plist文件,其中包含每个环境的不同端点,并且:

  • 复制Debug配置并调用它Development Build.
  • 创建了一个名为Development(复制Debug方案)的新Scheme,并在Info选项卡(Runsection)中选择了Development Build 配置.

当我在调试模式下运行时,一切正常运行.

我正在使用可可豆荚.

如果我选择Development方案,我会得到一个No such module 'JazzHands'

如果我编辑该Development方案以使用该Debug构建,它工作正常.

所以我一定要错过一些不能工作的东西.

xcode ios xcode6

12
推荐指数
2
解决办法
2964
查看次数

coredata - 将一个属性提取到数组中

目的:我想从数据库(核心数据)中获取一个属性(从实体)到数组的值.

实体名称=员工

Attribute = employeeID

我只想将所有employeeID填充到数组/集中.

鉴于以下是我的实现,我只觉得它是一种圆形的方式,我想知道是否有更好的方法来做到这一点.

NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Employees"];

fetchRequest.resultType = NSDictionaryResultType;

[fetchRequest setPropertiesToFetch:[NSArray arrayWithObjects:@"employeeID", nil]];

NSError *error      = nil;
NSArray *results    = [self.managedObjectContext executeFetchRequest:fetchRequest
                                                               error:&error];

NSMutableArray *employeeIDs = [NSMutableArray array];

for(id currentRecord in results)
{
    [employeeIDs addObject:[currentRecord objectForKey:@"employeeID"]];
}
Run Code Online (Sandbox Code Playgroud)

core-data nsfetchrequest ios

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