在这里,我们将给大家分享关于NSClassFromString的知识,让您更了解始终返回nil的本质,同时也会涉及到如何更有效地AngularJS$cookies.get()始终返回未定义、c#–Mo
在这里,我们将给大家分享关于NSClassFromString的知识,让您更了解始终返回nil的本质,同时也会涉及到如何更有效地AngularJS $ cookies.get()始终返回未定义、c# – MonoTouch NSClassFromString、codeigniter db-> delete()始终返回true吗?、dateFromString对于某些值返回nil的内容。
本文目录一览:- NSClassFromString()始终返回nil(cursor.fetchall返回类型)
- AngularJS $ cookies.get()始终返回未定义
- c# – MonoTouch NSClassFromString
- codeigniter db-> delete()始终返回true吗?
- dateFromString对于某些值返回nil
NSClassFromString()始终返回nil(cursor.fetchall返回类型)
nil
尽管ListCell
是有效的类,但以下代码会打印。
var lCellClass : AnyClass! = NSClassFromString("ListCell");println(lCellClass);
文档说方法返回
由 aClassName 命名的类对象,或者
nil
如果当前没有加载该名称的类。如果 aClassName 为nil
,则返回nil
。
我也试图获得NSClassFromString()
当前的viewcontroller已加载但仍然得到nil
可能是什么问题?
更新: 即使尝试这样做,NSClassFromString("Array")
我仍然可以nil
答案1
小编典典该NSClassFromString
函数 确实 适用于(纯和Objective-C派生的)swift类,但是仅当您使用全限定名时才起作用。
例如,在一个模块中,该模块使用名为MyApp
swift的纯swift类Person
:
let personClass: AnyClass? = NSClassFromString("MyApp.Person")
模块名称由“产品模块名称”(PRODUCT_MODULE_NAME
)构建设置定义,通常与您的目标名称相同(并进行了一些标准化处理,例如删除空格)。
这是非典型的,但是如果要加载的类在当前模块中,并且您在编译时不知道模块名称,例如因为代码被编译为多个目标的一部分,则可以动态查找包名称, 通常
对应于模块名称:
let moduleName = Bundle.main.infoDictionary!["CFBundleName"] as! Stringlet personClass: AnyClass? = NSClassFromString(moduleName + "." + "Person")
但是我不建议您这样做,除非您在编译时真的不知道。
有关更多信息,请参见 将Swift
与可可和Objective-C一起使用 带有Objective-C
API的类名 。
AngularJS $ cookies.get()始终返回未定义
我正在使用AngularJS 1.4.0和$cookies
服务。以下代码将始终打印出一个空对象:
(function() {
var app = angular.module("user-cookies-service",[]);
app.service('UserCookiesService',["$cookies",function($cookies) {
$cookies.put("Hello","World");
console.log($cookies.getAll());
}]);
})();
我试过了:
- 使用AngulerJS 1.3.15,并且
$cookieStore
在刷新浏览器时cookie不会持久存在(但至少会创建cookie)。 - 添加有效期。
- 确保在我的浏览器(Chrome)中启用了Cookie。
- 尝试使用普通的旧JS,但仍然无法正常工作。
我在任何地方都找不到类似的问题。
谢谢。
c# – MonoTouch NSClassFromString
if(NSClassFromString(@“ADBannerView”))
C#中的等价物是什么?
基本上我想要使用iAd,但我需要检查ADBannerView和ADInterstitialAd是否存在,因为它们并非在所有版本的操作系统上都可用. (而且我宁愿做功能检查而不是iOS版本检查)
我认为这在其他情况下也会有所帮助.
解决方法
通常,版本检查是检查功能的最佳方法.例如.
bool available = UIDevice.CurrentDevice.CheckSystemVersion (4,0);
对于任何4.0版本的iOS(4.0,当ADBannerView添加到iOS时)将返回true.
一种可能的替代方法(可能在每种情况下都不起作用)是创建一个实例并检查它的句柄.由于ObjC是基于消息的发送,init将返回null(.NET构造函数无法做到的事情).例如.
bool available = (new ADBannerView ().Handle != IntPtr.Zero);
请注意,您可能最好使用处理视图或将其集成到ADBannerView的正常创建中.
更新:当然,对NSClassFromString
的p / invoke与ObjectiveC代码完全相同:-)
codeigniter db-> delete()始终返回true吗?
我已经显示了带有记录和“删除”图像的表格。在删除图像上单击我正在使用ajax删除记录。如果我删除ID =
40的记录,则假定存在三个ID为40、41、42的记录,响应返回“ 1”并删除记录,下一次,如果我再次单击“删除图像”,它将再次返回“ 1”。
codeigniters db-> delete()方法始终返回“ 1”吗?我是否需要手动检查记录是否存在,然后继续删除?以下是我的代码iin
ajax.php
$res = $this->db->delete(tbl_user_groups, array(''owner_id'' => $admin,''user_group_id''=>$gid));if($res) echo json_encode (array("success"=>"true"));else echo json_encode (array("success"=>"false"));
答案1
小编典典该 DB- > delete()的返回TRUE
,如果删除操作是成功的。仅FALSE
当它不能删除该行时才返回。我认为您应该检查以下内容:
$this->db->affected_rows();
它返回数字而不是布尔值,您可以使用If条件进行检查。
dateFromString对于某些值返回nil
nil
在使用时dateFromString
,我正在获取一些价值swift
。我搜寻了很多,但徒劳无功。
以下是我的代码:
let strDate = self.sortedDict.valueForKey("TIME").objectAtIndex(indexPath.row).objectAtIndex(0) as? String print(strDate); let st_date = frmt.dateFromString(strDate!) let frmt1:NSDateFormatter = NSDateFormatter() frmt1.locale = NSLocale(localeIdentifier: localeStr) frmt1.dateFormat = "MMM, dd yyyy hh:mm a" if st_date != nil { print(st_date)}
输出控制台:
Optional("September, 20 2015 10:00:00")Optional(2015-09-20 10:00:00 +0000)Optional("October, 04 2015 10:00:00")Optional(2015-10-04 10:00:00 +0000)Optional("October, 04 2015 14:00:00") // nilOptional("October, 18 2015 15:00:00") // nilOptional("September, 20 2015 14:00:00") // nilOptional("September, 27 2015 10:00:00")Optional(2015-09-27 10:00:00 +0000)Optional("September, 27 2015 12:00:00")Optional(2015-09-27 00:00:00 +0000)Optional("September, 27 2015 14:00:00")Optional("October, 03 2015 14:00:00") //nilOptional("October, 03 2015 16:00:00") //nil
所有日期字符串的格式都是相同的,但对于几个值我还是没有。为什么这样?请帮忙。我哪里错了?
答案1
小编典典格式应该是24小时的 HH ,即使您只获得12小时的值。
frmt1.dateFormat = "MMM, dd yyyy HH:mm a"
今天关于NSClassFromString和始终返回nil的讲解已经结束,谢谢您的阅读,如果想了解更多关于AngularJS $ cookies.get()始终返回未定义、c# – MonoTouch NSClassFromString、codeigniter db-> delete()始终返回true吗?、dateFromString对于某些值返回nil的相关知识,请在本站搜索。
本文标签: