我正在玩一些新的iOS 7功能,并使用WWDC视频"在iOS上实现引导UI"中讨论的一些图像效果.为了在会话的源代码中产生模糊效果,UIImage通过导入UIKit的类别扩展,如下所示:
@import UIKit;
Run Code Online (Sandbox Code Playgroud)
我想我在另一个会话视频中看到了一些相关内容,但我找不到它.我正在寻找有关何时使用此信息的任何背景信息.它只能用于Apple框架吗?使用此编译器指令的好处是否应该返回并更新旧代码?
许多开发人员正在添加各种便利宏Prefix.pch.但我的问题是该Prefix.pch文件是什么.
如果我Prefix.pch从我的文件中删除该文件Xcode,那么我的应用程序会运行吗?或者它会显示任何错误?或者它会在构建期间崩溃吗?
如何在没有Prefix.pch文件的情况下运行应用程序
尝试在现有应用程序中使用Layar SDK时出现以下错误.我怎么解决这个问题?
Ld /Users/pnawale/Library/Developer/Xcode/DerivedData/hub-afxxzaqisdfliwbzxbixsaifljcl/Build/Products/Debug-iphoneos/hub.app/hub normal armv7
cd /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub
setenv IPHONEOS_DEPLOYMENT_TARGET 5.0
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -L/Users/pnawale/Library/Developer/Xcode/DerivedData/hub-afxxzaqisdfliwbzxbixsaifljcl/Build/Products/Debug-iphoneos -L/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/ZBarSDK -L/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/Infosound/Lib -L/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/CrittercismSDK -L/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub -L/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/UserVoiceSDK-2.0.4 -L/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/Libraries -F/Users/pnawale/Library/Developer/Xcode/DerivedData/hub-afxxzaqisdfliwbzxbixsaifljcl/Build/Products/Debug-iphoneos -F/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub -filelist /Users/pnawale/Library/Developer/Xcode/DerivedData/hub-afxxzaqisdfliwbzxbixsaifljcl/Build/Intermediates/hub.build/Debug-iphoneos/hub.build/Objects-normal/armv7/hub.LinkFileList -dead_strip -ObjC -all_load -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=5.0 -lMPOAuthMobile -lsbjson-ios -framework LayarSDK -framework Social -framework AddressBook -framework AddressBookUI -framework UIKit -framework QuartzCore -framework Twitter -framework SystemConfiguration -framework Security -framework OpenAL -framework OpenGLES -framework MessageUI -framework MediaPlayer -framework Foundation -framework CoreGraphics -lc++ -framework CoreTelephony -framework CoreVideo -framework CoreMotion -framework CoreMedia -framework CoreLocation -framework …Run Code Online (Sandbox Code Playgroud) 我不知道Objective-C风格.
我有FooClass.[hm]依赖于BarClass.[hm]的实现(虽然不是它的接口).我可以#import "BarClass.h"直接在FooClass.m中,也可以通过FooClass.h间接访问.我想知道这个的共同选择.
Java中的'import'与C/C++中的'#include'的行为方式相同吗?具体来说,它是否包含它正在导入的整个库,还是只包含后续代码中调用的类和方法?
例如,我有两个名为file1.swift和file2.swift的文件.
file1.swift
import UIKit
class A: B {
}
Run Code Online (Sandbox Code Playgroud)
file2.swift
import UIKit
class C: A{
}
Run Code Online (Sandbox Code Playgroud)
我正在读取公共类不能在模块之外进行子类化.这里我有子类C.我试图理解模块在这里意味着什么.我为这两个文件导入了相同的模块UIKit.那么这两个文件是同一个模块吗?这样我就可以继承了.或者两个文件都有不同的模块,即使我导入相同的UIKit?
任何人都可以解释什么是模块?
资源:
具有公共访问权限或任何更严格的访问级别的类只能在定义它们的模块中进行子类化.
具有公共访问权限或任何更具限制性的访问级别的类成员只能在定义它们的模块中被子类覆盖.
我该如何回应这个警告?
警告:忽略'...'的重复协议定义
我的协议声明在它自己的.h文件中,并且在我的项目中的一些其他文件中是#import'.
好吧,以防万一,这是带有协议声明的整个头文件:
#import <Foundation/Foundation.h>
@class Wrapper;
@protocol WrapperDelegate
@required
- (void)wrapper:(Wrapper *)wrapper didRetrieveData:(NSData *)data;
@optional
- (void)wrapperHasBadCredentials:(Wrapper *)wrapper;
- (void)wrapper:(Wrapper *)wrapper didCreateResourceAtURL:(NSString *)url;
- (void)wrapper:(Wrapper *)wrapper didFailWithError:(NSError *)error;
- (void)wrapper:(Wrapper *)wrapper didReceiveStatusCode:(int)statusCode;
@end
Run Code Online (Sandbox Code Playgroud)
谢谢你的建议.
Python和其他人使用import获取外部功能的技术.
C和其他人使用include(和,例如C++,有伴随的namespace头痛).
在设计语言时,选择一个(或使用Objective-C两者)的原因是什么?
我看到Apple正在通过一篇论文向LLVM提出一些更新/更改,并想知道为什么存在差异.
鉴于有多种方法可以实现import(在我回答之前我没有意识到),!include对比的整体好处是include什么?该import技术似乎只根据给定的路径找到单个子组件(至少在Python中 - 其[明显的]方法是我所知道的唯一方法).
该import方法的其他用途与此有何不同?何时使用"旧式" include方法在现代语言设计和实现中有意义(如果有的话)?
我#import对Objective-C中的陈述仍然有点困惑.我有一个头文件(Common.h),其中我持有一些在整个应用程序中使用的常量NSStrings.到目前为止,我已经使用#import "Common.h" 了2个类,我得到了一个构建错误:
duplicate symbol _EX_XML_URL in /Users/username/Library/Developer/Xcode/DerivedData/projectname-ffvcivanbwwtrudifbcjntmoopbo/Build/Intermediates/projectname.build/Debug-iphonesimulator/projectname.build/Objects-normal/i386/NewsView.o and /Users/username/Library/Developer/Xcode/DerivedData/projectname-ffvcivanbwwtrudifbcjntmoopbo/Build/Intermediates/projectname.build/Debug-iphonesimulator/projectname.build/Objects-normal/i386/ViewController.o for architecture i386
Run Code Online (Sandbox Code Playgroud)
EX_XML_URL声明为:
//
// Common.h
// Group of common constants used through out the application
/*
* Constant strings available to application
*/
#import <Foundation/NSString.h>
NSString* EX_XML_URL = @"http://myurl.com/xmldata"; // URL for XML data
NSString* EX_NO_CONNECTION = @"Network not availble";
NSString* EX_DEFAULT_IMAGE = @"logo.png";
Run Code Online (Sandbox Code Playgroud)
我受到了印象(来自这篇文章),#import防止头文件被包含两次.我在这里错过了什么?