小编eme*_*gro的帖子

#define的费用是多少?

要定义常量,更常见和正确的方法是什么?在编译,链接等方面,使用#define定义常量的成本是多少?这是另一种便宜的方式吗?

c c# c++ objective-c

5
推荐指数
2
解决办法
638
查看次数

自动布局:某些视图为空时自动更新约束

我有这样的看法

 _______________________________
|     |                         |
|  Label 0                      |
|     ^                         |
|  Label 1                      |
|     ^                         |
|  Label 2                      |
|     ^                         |
|  Label N                      |
|_______________________________|
Run Code Online (Sandbox Code Playgroud)

^代表将的顶部Label X+1与的底部链接的约束Label X。Label 0用固定常数约束到超级视图的顶部。

我要实现的目标是:如果某些内容Label X为空,则Label X+1必须取代它。

 _______________________________
|     |                         |
|  Label 0 (empty)              |
|     ^                         |
|  Label 1                      |
|     ^                         |
|  Label 2                      |
|     ^                         |
|  Label N                      |
|_______________________________| …
Run Code Online (Sandbox Code Playgroud)

ios autolayout nsautolayout

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

Xcode运行脚本,是否可以仅在文件更改时运行?

我想仅当某个文件更改时才执行脚本。这在运行脚本阶段可能吗?我没有在文档中看到任何内容。

\n\n

太感谢了。

\n

xcode

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

WKWebView和动态类型+自定义字体

我无法WKWebView同时使用自定义字体和动态类型,但它是分开工作的。

我的这部分 CSS 非常简单:

body {
    font-family: 'MyCustomFont';
    font-size: 15px;
}
Run Code Online (Sandbox Code Playgroud)

为了允许动态类型,我将其更改为:

body {
    font-family: 'MyCustomFont';
    font: -apple-system-body;
}
Run Code Online (Sandbox Code Playgroud)

UIContentSizeCategory.didChangeNotification我有一个观察者来监听重新加载 webview 的通知,它会优雅地更改字体大小,但使用的是系统字体,而不是自定义字体。

关于如何让这两件事都发挥作用有什么想法吗?

css ios wkwebview

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

使用NSPredicate按对象属性过滤

我有一个可变的自定义对象数组.我想按对象的属性过滤该数组,例如myObject.attributeOne.

如何创建要使用的NSPredicate

[myArrayOfObjects filterUsingPredicate:<the_predicate>]
Run Code Online (Sandbox Code Playgroud)

iphone array-filter

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

iPhone4上的CoreGraphics比3G/3GS慢

我有一张用CoreGraphics绘制的图表.

此图表可以水平滚动,并在滚动时绘制.

问题是在3G/3GS上滚动的速度和性能都很好,但在iPhone 4上的速度比预期慢.

我想这是一个与iPhone 4更高分辨率相关的问题.这是正确的吗?

如何提高iPhone 4的性能?框架是否自动转换为在iPhone 4分辨率上绘制,还是我的工作?

非常感谢你.

iphone core-graphics iphone-4

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

展开字符串并在同一if语句中检查空白

我想实现这一目标

if let large = imageLinks.large {

    if !large.isEmpty {

        result = large
    }
}
Run Code Online (Sandbox Code Playgroud)

在单个if语句中,这样的事情(这不会编译)

if let large = imageLinks.large where !large.isEmpty {

    result = large       
}
Run Code Online (Sandbox Code Playgroud)

可能吗?

swift

3
推荐指数
2
解决办法
962
查看次数

依赖 pod 的 Swift 通用框架

我正在开发一个依赖 Alamofire 的小型 Swift 框架。我将它用作属于同一工作区的应用程序的嵌入式框架,并且运行良好。

当我想构建一个具有聚合目标的通用框架时,问题就出现了。然后,在执行脚本以生成框架时,它失败并显示消息No such module 'Alamofire',指的import Alamofire是我的一个源文件中的 。

这是我的 Podfile:

platform :ios, '9.0'
use_frameworks!
inhibit_all_warnings!

target 'FSIBackend' do
  pod 'SwiftLint'
  pod 'Alamofire'
  pod 'SwiftyJSON'
end
Run Code Online (Sandbox Code Playgroud)

这是生成框架的脚本。它适用于没有 Pods 依赖项的其他框架,所以我认为没问题:

set -e

# Setup
FRAMEWORK_NAME="${1}"
BUILD_DIR="${SRCROOT}/build"
OUTPUT_DIR="${HOME}/Desktop/"
OUTPUT="${OUTPUT_DIR}/${FRAMEWORK_NAME}.framework"

rm -rf "${BUILD_DIR}"
rm -rf "${OUTPUT}"
mkdir -p "${OUTPUT_DIR}"

# Build
xcodebuild -target "${FRAMEWORK_NAME}" -configuration Release -arch arm64 -arch armv7 -arch armv7s only_active_arch=no defines_module=yes -sdk "iphoneos"
xcodebuild -target "${FRAMEWORK_NAME}" -configuration Release -arch x86_64 -arch i386 only_active_arch=no defines_module=yes …
Run Code Online (Sandbox Code Playgroud)

ios cocoapods ios-universal-framework swift

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

添加到项目捆绑包时映射资源

当我用#defines映射所有图像文件名和xib名时,我有一个.h.例如,如果我有一个名为"buttonBackground.png"的图像,我将其映射到我的.h中

#define BUTTON_BACKGROUND_PNG_FILE   @"buttonBackground.png"
Run Code Online (Sandbox Code Playgroud)

可以检测何时将资源添加到捆绑包并使用脚本创建对应的定义?

编辑:我的意思是,像R.javaAndroid上的文件.

iphone scripting xcode

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

迭代UIViewController的属性和IBOutlets

我的应用程序上有一个通用的UIViewController.应用程序上的所有UIViewController都继承自这个通用的.

我正在尝试自动释放和释放属性和IBOutlets作为属性.

我在dealloc方法上做第一个(属性),在viewDidUnload上做第二个(属性为IBOutlets).

- (void) dealloc {
  [_att1 release];
  _att1 = nil;

  [_att2 release];
  _att2 = nil;

  // ...
}

- (void) viewDidUnload {
   self.att1 = nil; // att1 is an IBOutlet
   self.att2 = nil; // att2 is an IBOutlet

   // ...
}
Run Code Online (Sandbox Code Playgroud)

有没有办法迭代我的所有属性和IBOutlets来简化这个操作?我想避免为每个插座和属性执行此操作并将其委托给通用UIViewController.

谢谢.

iphone memory-management

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