我正在尝试使用特定事件打开日历,我已经以编程方式添加了事件,并且这些事件的所有ID都是持久的.
这是我添加事件的方式
-(IBAction)addEvent:(id)sender{
EKEventStore *store = [[EKEventStore alloc]init];
[store requestAccessToEntityType:EKEntityTypeReminder completion:^(BOOL granted, NSError *error) {
if (!granted) { return; }
EKEvent *event = [EKEvent eventWithEventStore:store];
event.title = @"Demo Title";
NSDateComponents *comps=[[NSDateComponents alloc]init];
[comps setDay:4];
[comps setMonth:10];
[comps setYear:2016];
[comps setHour:12];
[comps setMinute:1];
NSDate *date=[[[NSCalendar alloc]initWithCalendarIdentifier:NSCalendarIdentifierGregorian] dateFromComponents:comps];
_date=date;
event.startDate = date;
event.endDate=date;
event.notes=@"This is event description";
EKAlarm *alarm=[EKAlarm alarmWithAbsoluteDate:date];
[event addAlarm:alarm];
event.calendar = [store defaultCalendarForNewEvents];
NSError *err=nil;
[store saveEvent:event span:EKSpanThisEvent commit:YES error:&err];
}];
}
Run Code Online (Sandbox Code Playgroud)
该事件已成功添加,我也可以打开日历应用程序但事情是我无法在日历中的事件详细信息中导航
这是我打开日历的方式
-(IBAction)openCalender:(id)sender{
NSInteger interval = [_date …Run Code Online (Sandbox Code Playgroud) 我正在尝试将现有项目迁移到Swift,这更像是一次学习练习,但我认为我遇到了一个看似非常基本的问题,我认为这可能与我对AnyObject缺乏了解有关.
我创建了一个由许多变量组成的对象,并初始化为:
var customObject:MycustomObject = MYcustomObject()
Run Code Online (Sandbox Code Playgroud)
我正在使用NSURLConnection来检索JSON数据,这一切看起来都正常工作,因为jsonArray正在填充数据
jsonArray = NSJSONSerialization.JSONObjectWithData(jsonData, options: NSJSONReadingOptions.MutableContainers, error: &error) as NSArray
Run Code Online (Sandbox Code Playgroud)
然后我循环遍历数组并尝试解析数据,这是我遇到问题的地方,for循环默认详细信息为AnyObject.
for details:AnyObject in jsonArray {
parseDetail(details as NSDictionary)
}
Run Code Online (Sandbox Code Playgroud)
问题与integerValue有关,它生成一个"不能从'AnyObject'转发到非@objc ...."错误
func parseDetail(element: NSDictionary ) {
self.customObject.stringValue = element["id"] as String
self.customObject.integerValue = element["type"] as Integer
}
Run Code Online (Sandbox Code Playgroud)
NSString&String的工作方式似乎也有一些差异,到目前为止我的理解是,当使用Swift时,我应该使用本机类型Sting,Float Integer等等.如果我使用NSString,则在调试中正确显示stringValue窗口,但使用类型字符串时,我收到以下内容:
{
core = {
_baseAddress = Builtin.RawPointer = 0x0b227f49
_countAndFlags = 1073741828
_owner = Some {
Some = (instance_type = Builtin.RawPointer = 0x0b227f40 -> 0x006d58f0 (void *)0x006d58c8: __NSCFString)
}
}
}
Run Code Online (Sandbox Code Playgroud)
对不起,这有点长,但是有任何关于线程的信息,这是我的下一个挑战吗?
NSThread.detachNewThreadSelector(Selector: parseDetail(), …Run Code Online (Sandbox Code Playgroud) 我在 UITableView 中使用 UILabel 有问题。我想在 UILabel 中引入电影情节,但是当应用程序启动时,我只有一行非完整情节,但是当我向下和向上滚动时,我得到了 2-3 行完整的电影情节。可能是什么问题?

在 UILabel 首选项中,我选择了 0 行(它使标签成为多行)。在 ViewController 中,在“viewDidLoad”中我写了两行代码,使单元格可调整大小:
self.searchTableView.estimatedRowHeight = 44.0
self.searchTableView.rowHeight = UITableViewAutomaticDimension
Run Code Online (Sandbox Code Playgroud) 我知道可以通过以下方式检索设备的型号名称:
let device: UIDevice = UIDevice.currentDevice()
println("device.model: \(device.model)")
Run Code Online (Sandbox Code Playgroud)
问题是这在模拟中运行时不起作用。结果将是:
device.model: iPhone Simulator
Run Code Online (Sandbox Code Playgroud)
它可以在设备上运行,但我想知道模拟器正在模拟哪个设备。
在模拟器上运行时如何获取设备型号名称?
我正在使用,recyclerview其中每个项目都有一个菜单。我使用弹出窗口来实现相同的效果,而不是menu使用自定义布局来弹出。我面临的问题是,当我从屏幕底部的项目中打开菜单时,我的菜单不完全可见并被剪切了,有没有办法解决?
这是我的菜单(有4个选项)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/menuItemLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shadow_menu"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="vertical">
<LinearLayout
android:id="@+id/menuAttendeeMeet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground"
android:clickable="true"
android:gravity="center_vertical"
android:orientation="horizontal"
android:layout_marginTop="9dp"
android:paddingBottom="12dp"
android:paddingTop="12dp">
<ImageView
android:id="@+id/ivattendee_meet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:src="@drawable/meet_icon" />
<TextView
android:id="@+id/tvattendee_meet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Meet"
android:layout_marginRight="16dp"
android:textColor="@color/textPrimary"
android:textSize="16dp" />
</LinearLayout>
<LinearLayout
android:id="@+id/menuAttendeeChat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground"
android:clickable="true"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingBottom="12dp"
android:paddingTop="12dp">
<ImageView
android:id="@+id/ivattendee_chat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:src="@drawable/chat_icon" />
<TextView
android:id="@+id/tvattendee_chat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Chat"
android:layout_marginRight="16dp"
android:textColor="@color/textPrimary"
android:textSize="16dp" />
</LinearLayout>
<LinearLayout
android:id="@+id/menuAttendeeTakeANote"
android:layout_width="match_parent"
android:layout_height="wrap_content" …Run Code Online (Sandbox Code Playgroud) ios ×4
iphone ×3
swift ×3
android ×1
ekeventkit ×1
ios7 ×1
json ×1
objective-c ×1
popupmenu ×1
uitableview ×1