我正在做系统编程的功课.我必须实施一所大学.我有一门课程,有儿童班ComputerScience课程班,PG课程班和选修课程班.
class Course
{
public:
virtual void teach();
virtual void reg(Student &s)=0;
std::string getName();
std::string getDepartment();
int getSemester();
int getMinGrade();
void addStudent(Student *s);
void removeStudent(Student *s);
protected:
std::string _department;
std::string _name;
int _semester;
int _minGrade;
std::vector<Student*> studentsList;
};
class CSCourse : public Course
{
public:
CSCourse();
CSCourse(std::string department, std::string name, int semester, int mingrade);
~CSCourse();
std::string getName();
std::string getDepartment();
int getSemester();
int getMinGrade();
void addStudent(Student *s);
void removeStudent(Student *s);
};
Run Code Online (Sandbox Code Playgroud)
(PG课程和选修课程子课程是相同的)在课程类中的功能(不是无效的,如getSemester等等).我只是做dynamic_cast来确定它的课程类型.
我有这个问题:
courseVector是:
std::vector<Course*> coursesVector
Run Code Online (Sandbox Code Playgroud)
和dp变量是一个包含CS,PG或Elective的字符串.总的来说,我这样做:
if (dp == "CS") …Run Code Online (Sandbox Code Playgroud) 当我在播放音频文件之前获取它的持续时间时:
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
...
[audioPlayer prepareToPlay];
duration = audioPlayer.duration;
Run Code Online (Sandbox Code Playgroud)
我得到例如 16.71s 的持续时间。然后在播放时每 0.2 秒采样一次时,持续时间会发生变化。它每 1.2 到 1.6 秒改变为:16.71s, 17.02s, 17.23s, 17.33s, 17.38s, 17.43s, 17.38s, 17.29s, 17.31s, 然后停留在最后 17.51.5 秒 所以它会上升和下降。
我在更新滑块位置的方法中进行了示例,还显示了经过的时间和总持续时间。您可以想象在播放时看到持续时间(整数截断)从 16 变为 17 看起来真的很奇怪。此外,随着所有这些漂移,滑块位置将关闭。
有谁知道这是为什么?
现在我们在谈论持续时间:有谁知道为什么audio player.duration在[audioPlayer prepareToPlay]省略时返回的值大约是实际持续时间的两倍?
我需要编写一个只接受1-10的整数的程序(不包括字符和浮点数).我在用fgets.它运行但我不能排除浮点数.这是我的代码的一部分:
char choice[256];
int choice1;
fgets(choice, 256, stdin);
choice1 = atoi(choice);
if (choice1 > 0 && choice1 <= 10)
{
switch (choice1)
{
case 1:
...
case 10:
Run Code Online (Sandbox Code Playgroud)
救命?
我正在寻找Sine的近似值,其正确度为x == 0和/ x == 90或x == pi/2在5%之内.
我没有查找表的空间.
我需要DispatchTimeInterval从NSTimeInterval(或Double)中减去一个。
是否有一个转换的标准方式DispatchTimeInterval,以一个NSTimeInterval?
我有:
private var statusLabel: UILabel!
private var errorObserver: NSKeyValueObservation?
self.errorObserver = self.viewModel.observe(\.errorString)
{ [weak self] (viewModel, change) in
self?.statusLabel.text = viewModel.errorString
}
Run Code Online (Sandbox Code Playgroud)
是否[weak self]需要在这里?
我有以下内容(在 iOS 16 上):
NavigationStack
{
Form
{
....
}
}
.navigationTitle("Hello")
.navigationBarTitleDisplayMode(.inline)
Run Code Online (Sandbox Code Playgroud)
导航栏背景仅在向上滚动时出现Form。
如何确保背景始终显示?
如果正在上课@MainActor:
@MainActor class MyClass : NSObject
{
}
Run Code Online (Sandbox Code Playgroud)
这是否也将其所有扩展都打开了@MainActor?
extension MyClass
{
}
Run Code Online (Sandbox Code Playgroud) 在我UITableViewCell的中UITableViewCellStyleSubtitle,我想填充 的完整最大宽度detailTextLabel;一个短文本位于左侧(左对齐),另一个短文本位于最右侧(右对齐)。两个文本之间将留有足够的空间。
我发现了这个,但这似乎不起作用;它只是在左右部分之间添加一个固定的空间。
如果detailTextLabel具有固定的宽度来扩展整个可用单元格空间,则不会那么困难:可以计算两个字符串的宽度并使用NSKernAttributeName例如填充剩余空间。但是,不幸的是,detailTextLabel它会针对当前内容进行动态调整。
有没有人想出一个优雅的解决方案来做到这一点?(除了小步地使文本变得越来越长,直到达到 的全部潜在宽度detailTextLabel并由于 而稍微回缩...。)
ios ×4
swift ×4
c ×3
c++ ×1
concurrency ×1
exception ×1
iphone ×1
mainactor ×1
objective-c ×1
swift4 ×1
swiftui ×1
trigonometry ×1
uitableview ×1