我正在收到回调didRegisterForRemoteNotificationsWithDeviceToken :,但是返回给我的数据是空的....所以我不知道设备令牌.
有没有人见过这个或有任何建议?
谢谢
这里有一个类似的问题,并不能完全解释我想要什么:Objective C Blocks as Async-callbacks&BAD ACCESS
我有一个视图控制器,它使用异步回调调用服务。回调使用一个块来完成,该块引用视图控制器上的变量以填充它们。
看起来像这样:
- (void) loadData {
__block MyViewController *me = self;
[self.service executeWithCompletion:^(NSArray *result, NSError *error) {
if (!error) {
me.data = result;
}
}];
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我取消分配视图控制器,则回调将严重访问“ me”。
使“ me”为NULL的最简单方法是什么?如果我将其作为iVar,那么它会带回循环引用...我认为呢?
我想我缺少明显的东西。
谢谢
在Xcode中,我可以选择一个实体并转到Editor> Create NSManagedObject Subclass.这一点很好.我从一个实体中获得了这个课程.
然而....
前几天,不知怎的,我得到Xcode而不是弹出一个对话框,我的所有实体旁边都有复选框.我可以一次选择多个实体,然后它将为所有选定的人创建类.
我似乎无法找到我是如何做到的!!! 有人用这个并知道怎么做?
(不建议我使用发电机.我知道这个.)
我根据项目构建设置中的配置有选择地链接库.即
调试:-l libcws_ps发布:-l libcws
在库搜索路径中,我指向包含这两个.a库的目录.
我会指出这适用于Xcode 5,但现在在Xcode 6上,它没有正确链接,我得到了未定义的符号错误.如果我使用通常的方法链接 - '链接二进制文件库',那么它的工作原理 - 但后来我没有基于配置的链接.
任何想法如何解决这个问题,或者至少是一些线索我如何调试呢?
Libtool /Users/dave/Library/Developer/Xcode/DerivedData/FilmFlexMovies-ddwyjuvbhaqgqralpjczhprnltla/Build/Products/Release-iphoneos/libiOSIrdetoLibrary.a normal armv7
cd /Users/dave/Developer/GIT/FilmFlex/iOS/Submodules/iOSModelController/Submodules/iOSIrdetoLibrary
export IPHONEOS_DEPLOYMENT_TARGET=7.0
export 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/libtool -static -arch_only armv7 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk -L/Users/dave/Library/Developer/Xcode/DerivedData/FilmFlexMovies-ddwyjuvbhaqgqralpjczhprnltla/Build/Products/Release-iphoneos -LCloakwareStreaming/lib/ios -L/Users/dave/Developer/GIT/FilmFlex/iOS/Submodules/iOSModelController/Submodules/iOSIrdetoLibrary/CloakwareStreaming/lib/ios -filelist /Users/dave/Library/Developer/Xcode/DerivedData/FilmFlexMovies-ddwyjuvbhaqgqralpjczhprnltla/Build/Intermediates/iOSIrdetoLibrary.build/Release-iphoneos/iOSIrdetoLibrary.build/Objects-normal/armv7/iOSIrdetoLibrary.LinkFileList -framework MediaPlayer -framework CoreVideo -framework AVFoundation -framework UIKit -framework Foundation -o /Users/dave/Library/Developer/Xcode/DerivedData/FilmFlexMovies-ddwyjuvbhaqgqralpjczhprnltla/Build/Products/Release-iphoneos/libiOSIrdetoLibrary.a
Run Code Online (Sandbox Code Playgroud) 这是我如何返回表视图的行数:
public func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if let dataCount = self.data?.count {
return dataCount
} else {
return 0
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我想使用可选链接使其更简洁......但编译器对我的代码不满意.我试试这个:
return self.data?.count
Run Code Online (Sandbox Code Playgroud)
并且它抱怨计数是Int类型?我应该强行打开它,所以我这样做:
return self.data?.count!
Run Code Online (Sandbox Code Playgroud)
并且它抱怨count是Int类型.使用可选链接,如果数据不是nil,它应该只得到计数,如果数组不是nil,那么我知道count将返回ok.
我错过了什么?谢谢
我在这里想念的是什么:
+ (id) JSONObjectWithData:(NSData *)data {
#if __IPHONE_OS_VERSION_MAX_ALLOWED < 50000
//iOS < 5 didn't have the JSON serialization class
return [data objectFromJSONData]; //JSONKit
#else
NSError *jsonParsingError = nil;
id jsonObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:&jsonParsingError];
return jsonObject;
#endif
}
Run Code Online (Sandbox Code Playgroud)
我正在基础SDK 5.0上编译,部署版本是4.0.当我在带有4.2.1的iPhone 3G上运行时,我得到.....
dyld:未找到符号:_OBJC_CLASS _ $ _ NSJSONSerialization
启动时崩溃....